1. 程式人生 > 其它 >java8 LocalDateTime/LocalDate 獲取各種日期型別

java8 LocalDateTime/LocalDate 獲取各種日期型別

獲取當前時間:

LocalDateTime.now()

獲取當天:

LocalDate.now()

獲取本週星期一至星期天

LocalDate.now().with(DayOfWeek.MONDAY)
...
...
LocalDate.now().with(DayOfWeek.SUNDAY)

獲取星期一至星期天中文:

now.with(DayOfWeek.MONDAY).getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINA);
...
...
now.with(DayOfWeek.SUNDAY).getDayOfWeek().getDisplayName(TextStyle.FULL, Locale.CHINA);

獲取一天開始時間

final LocalDateTime startOfDay = LocalDate.now().atStartOfDay();

獲取一天結束時間

final LocalDate now = LocalDate.now();
final LocalDateTime endTime = LocalDateTime.of(now .getYear(), now .getMonth(), now .getDayOfMonth(), 23, 59, 59);

獲取前一天/後一天

final LocalDateTime now = LocalDateTime.now();
final LocalDateTime afterDay = now.plusDays(1); //增加一天 final LocalDateTime beforeDay = now.minusDays(1); //減少一天

獲取當月開始時間 / 結束時間

final LocalDate now = LocalDate.now();
final LocalDateTime startOfDay = now.atStartOfDay();
final LocalDateTime fistDayOfMonth = startOfDay.with(TemporalAdjusters.firstDayOfMonth());
final LocalDateTime endOfDay = now.plusDays(1L).atStartOfDay().plusNanos(-1L) final LocalDateTime endDayOfMonth = endOfDay.with(TemporalAdjusters.lastDayOfMonth()

獲取當年開始時間 / 結束時間

final LocalDate now = LocalDate.now();
final LocalDateTime startOfDay = now.atStartOfDay();
final LocalDateTime firstDayOfYear = startOfDay.with(TemporalAdjusters.firstDayOfYear())
final LocalDateTime lastDayOfYear = startOfDay.with(TemporalAdjusters.lastDayOfYear())