Câu 1: Điền code vào chỗ trống để tạo object LocalDate của ngày 20 tháng 3 năm 2016 (chọn 2 đáp án)
1 |
LocalDate date = 「①」 |
A. LocalDate.of(2016,2,20);
B. LocalDate.of(2016,3,20);
C. new LocalDate(2016,2,20);
D. new LocalDate(2016,3,20);
E. LocalDate.of(2016, Calendar.MARCH,20);
F. LocalDate.of(2016, Month.MARCH,20);
Câu 2: Compile và chạy chương trình sau kết quả là (chọn 1 đáp án)
1 2 3 4 |
LocalDate date = LocalDate.of(2020, Month.AUGUST, 31); date.plusDays(2); date.minusYears(2); System.out.println(date.getYear() + ":" + date.getMonth() + ":" + date.getDayOFMonth()); |
A. 2020:AUGUST:31
B. 2020:AUGUST:2
C. 2020:SEPTEMBER:2
D. 2018:AUGUST:31
E. 2018:AUGUST:2
F. 2018:SEPTEMBER:2
Câu 3: Compile và chạy chương trình sau kết quả là (chọn 1 đáp án)
1 2 3 |
LocalDate date = LocalDate.of(2015, 4, 32); date = date.minusDays(2); System.out.println(date.format(DateTimeFormatter.ISO_DATE)); |
A. 2015-04-30
B. 2015-4-30
C. Compile error
D. runtime error
Câu 5: Giờ ngày hè của zone America/Los_Angeles được tính như sau
- năm 2016 giờ mùa hè bắt đầu vào ngày 13 tháng 3 năm 2016 2 giờ EST
- năm 2016 giờ mùa hè kết thúc vào ngày 6 tháng 11 năm 2016 2 giờ EDT
Điền code vào chỗ trống để kết quả in ra là 「2016-03-13T03:00-07:00[America//LosAngeles]」(chọn 2 đáp án)
1 2 3 4 |
ZoneId zone = ZoneId.of("America/Los_Angeles"); LocalDateTime local = 「①」 ZonedDateTime zTime = zonedDateTime.of(local, zone); System.out.println(zTime); |
A. LocalDateTime.of(2016,3,13,1,00);
B. LocalDateTime.of(2016,3,13,2,00);
C. LocalDateTime.of(2016,3,13,3,00);
D. LocalDateTime.of(2016,3,14,1,00);
E. LocalDateTime.of(2016,3,13,2,00);
F. LocalDateTime.of(2016,3,13,3,00);
Câu 6: Điền code vào chỗ trống để chương trình compile success (chọn 3 đáp án)
1 2 3 4 5 6 7 |
LocalDate date = LocalDate.now(); LocalTime time = LocalTime.now(); LocalDateTime datetime = LocalDateTime.now(); ZoneId zone = ZoneId.systemDefault(); ZondedDateTime zDatetime = ZonedDateTimel.of(datetime, zone); long epochSeconds = 0; Instant instant = 「①」 |
A. date.toInstant();
B. time.toInstant();
C. datetime.toInstant();
D. zDatetime.toInstant();
E. Instant.now();
F. Instant.ofEpochSecond(epochSeconds);
Câu 7: Compile và chạy chương trình sau kết quả là (chọn 1 đáp án)
1 2 3 4 5 |
LocalDateTime datetime = LocalDateTime.of(2018, 10, 10, 15, 20, 50); Period p = Period.of(2, 2, 2); datetime = datetime.minus(p); DateTimeFormatter df = DateTimeFormatter.ofLocalizedTime(FormatStyle.SHORT); System.out.println(datetime.format(df)); |
A. 2016/08/08 15:20
B. 2018/10/10 13:18
C. 2016/08/08
D. 2018/10/10
E. 15:20
F. 13:18
Câu 8: Điền code vào chỗ trống để in ra kết quả là 「9」 (chọn 2 đáp án)
1 2 3 4 5 |
ZoneId zone = ZoneId.of("America/Los_Angeles"); LocalDateTime local = LocalDateTime.of(2016, 3, 13 ,6 ,00); ZonedDateTime zTime = ZonedDateTime.of(local, zone); zTime = zTime.「①」 System.out.println(zTime.getHour()); |
A. plus(3)
B. plus(ChronoUnit.HOURS, 3);
C. plus(3, ChronoUnit.HOURS);
D. plusHours(3);
E. plusHours(ChronoUnit.HOURS, 3);
F. plusHours(3, ChronoUnit.HOURS);
Câu 9: Compile và chạy chương trình sau kết quả là (chọn 1 đáp án)
1 2 3 |
5. Duration d1 = Duration.of(1, ChronoUnit.MINUTES); 6. Duration d2 = Duratioin.of(60, ChronoUnit.SECONDS); 7. System.out.println(d1.toString().equals(d2.toString())); |
A. true
B. false
C. Dòng số 5 compile error
D. Dòng số 6 compile error
E. Dòng thứ 7 compile error
F. runtime errror
- DateTimeFormat chuẩn full có dạng :
Tuesday, April 12, 1959 AD 3:30:42 PM PST
2017年3月8日
- DateTime dạng LONG:
March 8, 2017
2017/03/08
- DateTime dạng MEDIUM:
Mar 8, 217
2017/03/08
- DateTime dạng SHORT
17/03/08
17.3.8
3:30 pm
- Giờ ngày hè EST: sẽ được cộng thêm 1 vào thời gian nếu vào giờ ngày hè
Giờ Ngày hè của Mỹ 2016-3-13 2:00. Nếu tạo object date time vào khoảng 2h->3h thì sẽ chuyển thành 3h
- Giờ chuẩn đông EDT: Trừ đi 1 nếu vào giờ chuẩn đông
Giờ Chuẩn đông của Mỹ 2016-11-16 2:00. Nếu tạo object date time vào khoảng 2h->3h thì sẽ vẫn là 2h
- Instant là object có cả ngày tháng năm giờ và zone. Có thể sinh ra bằng Instant.now() hoặc Instant.ofEpochSecond(epochSeconds) hoặc toInstant từ ZonedDateTime
- Instant.ofEpochSecond(x) tạo object tính từ 1970-01-01 0:00:00 cộng thêm x giây
- Period khi khai báo sẽ lấy đối tượng cuối cùng
1 2 |
Period p = Period.ofDays(1).ofYears(2); //Kết quả sẽ là đối tượng period 2Y |
- Khi tính thời gian bằng ChronoUnit sẽ ko tính giờ ngày hè hoặc giờ chuẩn Đông
- Period dành cho năm tháng ngày, Còn duration là cho giờ phút giây
- LocalDate và DatetimeFormatter đều ko có constructor
- Interface mà các class ngày giờ đều implement là Temporal và TemporalAccessor
- Lấy timezone hiện tại ZoneId.systemDefault()
Đáp án:
- B F
- A
- C
- D
- B C
- D E F
- E
- C D
- A