【发布时间】:2021-06-06 12:51:21
【问题描述】:
在线 API 需要这种格式:
string
completion formatted as ISO 8601 timestamp - 'YYYY-MM-DDTHH:mm:ss.sssZ'
2018-11-21T22:38:15.000Z
我试图在中午获取任何 LocalDate 以满足要求,但是,当 Java 查看中午或一天的开始时,它会截断亚秒。例如:
DateTimeFormatter.ISO_DATE_TIME
.withZone(ZoneOffset.UTC)
.format(LocalDate.now().atTime(LocalTime.NOON).atZone(ZoneOffset.UTC))
产生:
2021-03-08T12:00:00Z
api 需要亚秒级。有没有办法让我强制精确?
我尝试构建一个:
DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ")
但输出中缺少 Z。
【问题讨论】:
-
s仍然是秒,而不是毫秒,因为你把它放在点之后。你的意思是SSS? -
在 Java 中,是的,但他们说的是毫秒。
-
更新了我的评论,我想现在更清楚了
-
我正在使用 ISO_DATE_TIME 的内置格式化程序。它适用于任何其他时间。
-
嗯,您可以随时提供自己的时间格式。
标签: java datetime java-time zoneddatetime datetimeformatter