gpt4 book ai didi

java - 乔达 : parse string as DateTime with weird timezone format

转载 作者:行者123 更新时间:2023-12-02 10:49:07 36 4
gpt4 key购买 nike

是否有一个有效的 joda DateTimeFormat 用于日期字符串,如下所示:

Mon, 23 Jul 2018 07:08:26 +0300 GMT

我已经尝试过:

DateTimeFormatter FMT1 = DateTimeFormat.forPattern("E, d MMM yyyy HH:mm:ss Z");
DateTimeFormatter FMT2 = DateTimeFormat.forPattern("E, d MMM yyyy HH:mm:ss z");
DateTimeFormatter FMT3 = DateTimeFormat.forPattern("E, d MMM yyyy HH:mm:ss z Z");

但这些都不起作用。我看过这里https://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html我无法找到一种无需先更改字符串本身即可解析该日期的方法。有办法吗?

最佳答案

我认为 +0300 是真正的偏移量,而 GMT 只是表明 +0300 是相对于 GMT 的。 Joda-Time 支持撇号来分隔不应被解释的常量文本:

    DateTimeFormatter formatter = DateTimeFormat.forPattern("E, d MMM yyyy HH:mm:ss Z 'GMT'");

DateTime dt = DateTime.parse("Mon, 23 Jul 2018 07:08:26 +0300 GMT", formatter);
System.out.println(dt);

我的计算机在欧洲/哥本哈根时区的输出:

2018-07-23T06:08:26.000+02:00

顺便说一句,使用小写字母和大写字母 z 的想法也不错。如果你以相反的顺序放置它们,它就会起作用:

    DateTimeFormatter formatter = DateTimeFormat.forPattern("E, d MMM yyyy HH:mm:ss Z z");

2018-07-23T04:08:26.000Z

不过,我更喜欢撇号。读者很难知道 Z z 会带来什么。

关于java - 乔达 : parse string as DateTime with weird timezone format,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52317065/

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