gpt4 book ai didi

java - 日期格式异常

转载 作者:行者123 更新时间:2023-12-01 17:59:07 25 4
gpt4 key购买 nike

我有以下日期2017-02-19T12:23:37.000000-00:00

这段代码:

    Long tt = null;
String date = "2017-02-19T12:23:37.000000-00:00";
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
try {
Date parsedDate = formatter.parse(date);
tt = parsedDate.getTime();
} catch (ParseException e) {
System.out.println(e);
tt = (long) 9999999;
}

System.out.println(tt);

输出:

java.text.ParseException: Unparseable date: "2017-02-19T12:23:37.000000-00:00"

9999999

感谢您的帮助。

最佳答案

您的毫秒部分有 6 位数字,而不是 3 位,并且时区不是以 RFC 822 时区的形式给出,而是以 ISO 8601 时区的形式给出。

这会起作用:

"yyyy-MM-dd'T'HH:mm:ss.SSSSSSX"

正如评论中正确指出的那样,如果毫秒部分偏离 000000,就会出现乱码。

自 Java 8 以来,有一种更好的方法来解析日期和时间。对于您的 ISO-8601 日期,只需使用:

OffsetDateTime.parse("2017-02-19T12:23:37.000000-00:00")

另请参阅Basil Bourque's great answer以获得更详细的解释。

关于java - 日期格式异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42327742/

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