Joda ISODateTimeFormat文档说 ISODateTimeFormat.dateTime()会返回格式函数 yyyy-MM-dd'T'HH:mm:ss.SSSZZ
但格式化程序返回“Z”代替+00:00 看到这个 -
DateTime dt = DateTime.now(DateTimeZone.UTC);
DateTimeFormatter patternFormat = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZZ");
DateTimeFormatter isoFormat = ISODateTimeFormat.dateTime();
System.out.println(dt.toString(patternFormat)); //2014-06-01T03:02:13.552+00:00
System.out.println(dt.toString(isoFormat)); //2014-06-01T03:02:13.552Z
任何人都可以告诉我将+00:00打印为Z
的模式是什么修改: 只是为了澄清 - 我知道'Z'与+00:00相同,但从文本上来说它是不同的。我要问的是什么模式将Z作为时间偏移而不是+00:00
(对不起,如果这太微不足道了。我想在没有毫秒的情况下使用ISO格式,在写这个问题的过程中,我发现我在ISODateTimeFormat.dateTimeNoMillis()中找到了正确的内容,所以我现在只是为了利益而要求)
干杯
答案 0 :(得分:10)
您似乎无法完全从模式构建这样的格式化程序。 DateTimeFormat文档说:
* <strong>Zone</strong>: 'Z' outputs offset without a colon, 'ZZ' outputs
* the offset with a colon, 'ZZZ' or more outputs the zone id.
您可以从模式构建大部分格式化程序,然后自定义时区输出,如下所示:
DateTimeFormatter patternFormat = new DateTimeFormatterBuilder()
.appendPattern("yyyy-MM-dd'T'HH:mm:ss.SSS")
.appendTimeZoneOffset("Z", true, 2, 4)
.toFormatter();
答案 1 :(得分:3)
But the formatter returns a "Z" in place of +00:00 see this-
再次查看文档,它说清楚,
The time zone offset is 'Z' for zero, and of the form '±HH:mm' for non-zero.
因此,此ISO值 2014-06-01T03:02:13.552Z 与 2014-06-01T03:02:13.552 + 00:00 相同。
在您的代码中看到非零情况,请尝试使用
DateTime dt = DateTime.now(); //without arg DateTimeZone.UTC;
答案 2 :(得分:0)
'Z'
是Zulu time
的短期内容,与GMT
或UTC
相同
我认为这就是你需要的...... !!
int offset = DateTimeZone.forID("UTC").getOffset(new DateTime());
答案 3 :(得分:0)
If you know that your TimeZone will always be DateTimeZone.UTC, then you can inject the Z in the pattern just like the T character has been injected. Something like this:
DateTimeFormatter patternFormat = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
If you want to have the same format but without the milliseconds, the pattern might look something like this:
DateTimeFormatter patternFormat = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss'Z'");
I am sure you have found this page, but see the Joda Time Formatting reference page for details regarding these formats and other options.