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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值