Java 8 LocalDateTime 今天在特定时间
有没有比这更好/更简单的方法来构造今天早上6点的对象?LocalDateTime
LocalDateTime todayAt6 = LocalDateTime.now().withHour(6).withMinute(0).withSecond(0).withNano(0);
不知何故,我不喜欢处理分钟/秒/纳米,而我想说的只是。now().withHours()
有没有比这更好/更简单的方法来构造今天早上6点的对象?LocalDateTime
LocalDateTime todayAt6 = LocalDateTime.now().withHour(6).withMinute(0).withSecond(0).withNano(0);
不知何故,我不喜欢处理分钟/秒/纳米,而我想说的只是。now().withHours()
LocalDate
有各种重载方法,例如这个,它需要两个参数(一天中的小时和分钟):atTime
LocalDateTime todayAt6 = LocalDate.now().atTime(6, 0);
另一种选择(特别是如果你想改变已经存在的)是使用with()
方法。LocalDateTime
它接受 a 作为参数。根据javadoc的说法,将a传递给此方法正是您需要的:TemporalAdjuster
LocalTime
类 LocalDate 和 LocalTime 实现了 TemporalAdjuster,因此此方法可用于更改日期、时间或偏移量:
result = localDateTime.with(date);
result = localDateTime.with(time);
因此,代码将是:
LocalDateTime todayAt6 = LocalDateTime.now().with(LocalTime.of(6, 0));