java - ZonedDateTime 现在函数强制包含第二个值

标签 java datetime-format java-time zoneddatetime

我的代码需要字符串格式的当前 UTC 时间。

String date = ZonedDateTime.now(ZoneOffset.UTC).withNano(0).toString();

这在大多数情况下都可以正常工作,除非时间为零秒值。

Normal output: 2018-03-07T11:33:09Z
Problem output: 2018-03-06T11:33Z

第二次会跳过打印。即使秒数为零,如何强制打印秒数?

最佳答案

您可以使用格式化程序来始终打印秒部分:

DateTimeFormatter dtf = DateTimeFormatter.ofPattern("uuuu-MM-dd'T'HH:mm:ssX");
String s = ZonedDateTime.now(ZoneOffset.UTC).withNano(0).format(dtf);
System.out.println(s); // 2018-03-20T16:15:07Z

关于java - ZonedDateTime 现在函数强制包含第二个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49150929/

相关文章:

java - 如何在 Java 中获取时间的年份

java - 我应该在 Android 中使用哪种 OCR Java 库?

java - 我可以为Java中的目录指定 "base package path"吗?

java - cucumber (在 Java 中): How can I run scenarios with both tags only

java - 如何在 spring 中配置基于语言环境的日期格式支持

php - 将csv文件导入mysql并同时更改日期时间格式

javascript - Moment js判断已经过去了多少天,几周

jpa - 在 JPA 中保持 Java 8 LocalTime

java - 在堆中创建 `LocalDate` (java.time) 时出错

java - 通用类问题!