Ran*_*aul 2 java datetime datetime-format java-8 java-time
Instant我正在尝试根据本文中的参考从对象创建 ISO 8601 格式的 DateTime,我使用该格式YYYY-MM-DD'T'hh:mm:ss'T'ZD来解析即时日期,如下所示。
但它生成的时间格式错误:
2022-06-172T06:08:13T-0500172
Run Code Online (Sandbox Code Playgroud)
预期的格式应该是:
2022-06-21T13:31:49-05:00
Run Code Online (Sandbox Code Playgroud)
我的代码:
DateTimeFormatter formatter = DateTimeFormatter
.ofPattern("YYYY-MM-DD'T'hh:mm:ss'T'ZD")
.withZone(ZoneId.systemDefault());
formatter.format(Instant.now())
Run Code Online (Sandbox Code Playgroud)
如何生成如下所示的格式化时间?
2022-06-21T13:31:49-05:00
Run Code Online (Sandbox Code Playgroud)
帮助生成格式为 2022-06-21T13:31:49-05:00 的时间
OffsetDateTime.now().toString()
Run Code Online (Sandbox Code Playgroud)
2022-06-22T04:38:55.902569200+03:00
无需定义格式化模式。
您所需的输出符合日期时间格式的ISO 8601标准。java.time类在解析/生成文本时默认使用这些标准格式。
OffsetDateTime要表示特定偏移中看到的时刻,请使用OffsetDateTime。
OffsetDateTime odt = OffsetDateTime.now() ;
Run Code Online (Sandbox Code Playgroud)
通过调用 生成文本toString。
String output = odt.toString() ;
Run Code Online (Sandbox Code Playgroud)
2022-06-22T04:38:55.902569200+03:00
如果您想丢弃秒的小数部分,请截断。
OffsetDateTime
.now()
.truncatedTo( ChronoUnit.SECONDS )
.toString()
Run Code Online (Sandbox Code Playgroud)
2022-06-22T04:38:55+03:00
| 归档时间: |
|
| 查看次数: |
10827 次 |
| 最近记录: |