欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

c语言time_t转oletime,DateTimeFormatter可以格式化日期,但不能读取它自己的格式

发布时间:2025/3/15 编程问答 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 c语言time_t转oletime,DateTimeFormatter可以格式化日期,但不能读取它自己的格式 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

我试图用一个文本来解析一个ISO-8601日期

'Z'

最后。

String pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";

DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);

String string = formatter.format(OffsetDateTime.now());

System.out.println(string);

印刷品:

2020-01-19T03:06:58.090Z

但是,然后,试图立即读回:

TemporalAccessor acc = formatter.parse(string);

OffsetDateTime time = OffsetDateTime.from(acc);

System.out.println(time);

Exception in thread "main" java.time.DateTimeException: Unable to obtain OffsetDateTime from TemporalAccessor: {MinuteOfHour=6, MilliOfSecond=90, MicroOfSecond=90000, HourOfAmPm=3, NanoOfSecond=90000000, SecondOfMinute=58},ISO resolved to 2020-01-19 of type java.time.format.Parsed

at java.time.OffsetDateTime.from(OffsetDateTime.java:370)

at HelloWorld.main(HelloWorld.java:27)

Caused by: java.time.DateTimeException: Unable to obtain ZoneOffset from TemporalAccessor: {MinuteOfHour=6, MilliOfSecond=90, MicroOfSecond=90000, HourOfAmPm=3, NanoOfSecond=90000000, SecondOfMinute=58},ISO resolved to 2020-01-19 of type java.time.format.Parsed

at java.time.ZoneOffset.from(ZoneOffset.java:348)

at java.time.OffsetDateTime.from(OffsetDateTime.java:359)

... 1 more

我无法更改模式以使用非文本

“Z”

Z

所以它的日期格式是

+0000

最后可以成功读入。我也不能改变使用

TemporalAccessor

从第三方(杰克逊)那里得知日期。有什么想法吗?

总结

以上是生活随笔为你收集整理的c语言time_t转oletime,DateTimeFormatter可以格式化日期,但不能读取它自己的格式的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。