Joda:将字符串解析为具有奇怪时区格式的 DateTime
Joda: parse string as DateTime with weird timezone format
是否有有效的 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");
但是 none 这些工作。
我在这里 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);
我的计算机在 Europe/Copenhagen 时区的输出:
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
不过我更喜欢撇号。 reader 很难知道 Z z
会发生什么。
是否有有效的 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");
但是 none 这些工作。 我在这里 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);
我的计算机在 Europe/Copenhagen 时区的输出:
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
不过我更喜欢撇号。 reader 很难知道 Z z
会发生什么。