我试图格式化Instant到String一个特定的格式.根据这里的问题格式化即时字符串,我这样做 -
DateTimeFormatter formatter = DateTimeFormatter
.ofPattern("YYYY-MM-DD'T'hh:mm'Z'")
.withZone(ZoneOffset.UTC);
// Fails for current time with error 'Field DayOfYear cannot be printed as the
// value 148 exceeds the maximum print width of 2'
LocalDateTime
.ofInstant(Instant.now(), ZoneOffset.UTC)
.format(DATE_TIME_FORMATTER);
// But works for smaller values of Instant
LocalDateTime
.ofInstant(Instant.ofEpochMilli(604800000), ZoneOffset.UTC)
.format(DATE_TIME_FORMATTER));
Run Code Online (Sandbox Code Playgroud)
有关为什么会发生这种情况的任何建议?
谢谢
And*_*eas 17
模式YYYY-MM-DD'T'hh:mm'Z'错了:
YYYY- 基于周的 错误:使用uuuu 年份MM - 一年中的一个月DD- 日期 错误:使用dd 日期hh- 没有上午/下午的时钟小时(1-12)你可能想要HH 一天中的小时(0-23)mm - 分钟这很奇怪,因为你甚至引用了一个具有正确模式字符的链接.当然除非你认为大小写与小写无关,但如果是这样,你认为MM(月份)与mm(分钟)的工作情况如何?
您可能想要实际阅读文档.
查看DateTimeFormatter的文档。所以,D代表一年中的某一天,而代表d一月中的某一天,这就是你想要的。
另外,还有几种已经定义的格式。你想要的那个就差不多了DateTimeFormatter.ISO_INSTANT。
| 归档时间: |
|
| 查看次数: |
13065 次 |
| 最近记录: |