gpt4 book ai didi

java - ZonedDateTime 的字符串正在改变格式

转载 作者:行者123 更新时间:2023-11-29 09:58:54 26 4
gpt4 key购买 nike

String ip="2011-05-01T06:47:35.422-05:00";
ZonedDateTime mzt = ZonedDateTime.parse(ip).toInstant().atZone(ZoneOffset.UTC);
System.out.println(mzt);

System.out.println("-----");

String ip2="2011-05-01T00:00:00.000-05:00";
ZonedDateTime mzt2 = ZonedDateTime.parse(ip2).toInstant().atZone(ZoneOffset.UTC);
System.out.println(mzt2);

输出:

2011-05-01T11:47:35.422Z
-----
2011-05-01T05:00Z

为什么在案例 2 中日期格式会发生变化?因此,我收到 SQLServer 数据库错误。

最佳答案

这就是toString from documentation said

The format used will be the shortest that outputs the full value of the time where the omitted parts are implied to be zero.

要解决这个问题,你需要另一个格式化程序:

String result = mzt2.format(DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss:SSS'Z'"));

输出

2011-05-01T11:47:35.422Z
2011-05-01T05:00:00:000Z

关于java - ZonedDateTime 的字符串正在改变格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50120213/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com