gpt4 book ai didi

Java 日期自定义格式转ZonedDateTime

转载 作者:行者123 更新时间:2023-12-01 08:52:31 24 4
gpt4 key购买 nike

我正在尝试将以下日期格式“2017-02-16T17:29:12.12T+0200”解析为 ZonedDateTime

我的目标是让 ZonedDateTime 保持 2017-02-16T17:29:12.12 未经修改(未转移到系统时区)并与 +2 小时表示的时区相关联(从格林威治标准时间(GMT)开始)。

@Test
public void testParseCustomDate() throws Exception {
String format = "yyyy-MM-dd'T'HH:mm:ss.S'T'Z";
String value = "2017-02-16T17:29:12.12T+0300";

Date date = new SimpleDateFormat(format).parse(value);
System.out.println(date);

ZonedDateTime dateTime = ZonedDateTime.parse(value, DateTimeFormatter.ofPattern(format));
System.out.println(dateTime);
}

在上面的示例中,SimpleDateFormat 成功解析了日期,但 ZonedDateTime.parse 未能成功解析日期

最佳答案

SimpleDateFormatDateTimeFormatter是不同的。要解析您的样本日期,您应该为第二个分数添加一个“S”:

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

它将产生以下输出:

Thu Feb 16 15:29:12 CET 2017
2017-02-16T17:29:12.120+03:00

关于Java 日期自定义格式转ZonedDateTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42296294/

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