是否有一种简洁的方法可以去除OffsetDateTime中的所有分钟,秒和纳秒?这是我要做的才能得到我想要的。

final OffsetDateTime strippedTime = OffsetDateTime.now().withMinute(0).withSecond(0).withNano(0);
System.out.println(strippedTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.nnnnnnnnn")));

上面的代码给了我:
2016-11-08 09:00:00.000000000
LocalTime.MIDNIGHT可悲地剥夺了对象的时间,所以对我来说毫无用处。任何建议表示赞赏。

最佳答案

您可以将 OffsetDateTime.truncatedTo(TemporalUnit) ChronoUnit.HOURS 结合使用:

 OffsetDateTime.now().truncatedTo(ChronoUnit.HOURS)

10-06 02:00