Java 从OffsetDateTime中删除分钟、秒和纳秒
有没有一种简洁的方法可以去掉Java 从OffsetDateTime中删除分钟、秒和纳秒,java,java-time,Java,Java Time,有没有一种简洁的方法可以去掉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"
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.now().truncatedTo(ChronoUnit.HOURS)
您可以使用:
将格式更改为“yyyy-MM-dd-HH”怎么样?我自己从来没有使用过OffsetDateTime,但您目前使用的方式似乎已经很简洁了…@AJPerez我试图避免记住从对象中显式删除所有分、秒和纳秒。但你是对的。在这种情况下,简洁性是非常主观的。@BrunoDM OffsetDateTime对象将在计算中转换为纳秒。它不用于显示值。我把显示代码放在那里只是为了说明我在寻找什么价值。
OffsetDateTime.now().truncatedTo(ChronoUnit.HOURS)