【发布时间】:2021-03-09 20:56:43
【问题描述】:
我正在尝试从UTC 时区截断毫秒。
我有下面的代码,我可以在其中删除毫秒,但最后我仍然得到Z。
OffsetDateTime now = OffsetDateTime.now(ZoneOffset.UTC );
OffsetDateTime eventDateTime=now.minus(4, ChronoUnit.MINUTES);
System.out.println("====Event date Time before truncate===");
System.out.println(eventDateTime);
System.out.println("====Event date Time after truncate===");
System.out.println(eventDateTime.truncatedTo(ChronoUnit.SECONDS));
这会输出以下内容:
====事件日期时间之前截断===
2021-03-09T20:46:24.081Z====事件日期 截断后时间===
2021-03-09T20:46:24Z
【问题讨论】:
-
调用
OffsetDateTime.toLocalDateTime()获取不带时区的日期/时间值。 -
Z只是表示它是 UTC。如果您需要特定的输出格式,请使用DateTimeFormatter。 -
请提供更多背景信息,您认为为什么要这样做,我相信我们可以为您提供更好的指导。虽然我可以看到用户可能不希望看到秒和 UTC 偏移量的分数,但他们通常希望时间在他们自己的时区而不是 UTC,并且他们更喜欢本地化的日期和时间格式。那是为了什么目的呢?
标签: java truncate localdatetime