gpt4 book ai didi

java - SimpleDateFormat 未正确格式化偏移日期时间

转载 作者:行者123 更新时间:2023-11-30 01:44:51 29 4
gpt4 key购买 nike

我得到的时间戳如下,2019-10-17T07:10:39.021+10:30,但是当我解析 SimpleDateFormat 然后再次打印时,它显示为 2019-10-17T07:40:39.021+11:00

看起来它添加了 30 分钟时间,然后更改了时区。有没有办法解决这个问题。

        Date date = null;       
String value = "2019-10-17T07:10:39.021+10:30";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSXXX", Locale.getDefault());
System.out.println("input :" + value);
try {
date = sdf.parse(value);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println("output :" + sdf.format(date));

结果

输入:2019-10-17T07:10:39.021+10:30

输出:2019-10-17T07:40:39.021+11:00

应与输入相同。

最佳答案

您拥有的日期字符串2019-10-17T07:10:39.021+10:30offset组成,所以从 java-8 开始你可以使用 OffsetDateTime

A date-time with an offset from UTC/Greenwich in the ISO-8601 calendar system, such as 2007-12-03T10:15:30+01:00.

OffsetDateTime dateTime = OffsetDateTime.parse(date);

System.out.println(dateTime.toString()); //2019-10-17T07:10:39.021+10:30

关于java - SimpleDateFormat 未正确格式化偏移日期时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58496163/

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