Dav*_*ile 18 java datetime jodatime
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
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我将+00:00作为Z打印的模式是什么
编辑:只是为了澄清 - 我知道'Z'与+00:00相同但文字上却不同.我要问的是什么模式将Z作为时间偏移而不是+00:00
(对不起,如果这太微不足道了.我想在没有毫秒的情况下使用ISO格式,在写这个问题的过程中,我发现我在ISODateTimeFormat.dateTimeNoMillis()中找到了正确的内容,所以我现在只是为了利益而要求)
干杯
ara*_*nid 13
您似乎不能仅仅从模式构建这样的格式化程序.DateTimeFormat文档说:
DateTimeFormatter patternFormat = new DateTimeFormatterBuilder()
.appendPattern("yyyy-MM-dd'T'HH:mm:ss.SSS")
.appendTimeZoneOffset("Z", true, 2, 4)
.toFormatter();
Run Code Online (Sandbox Code Playgroud)
您可以从模式构建大部分格式化程序,然后自定义时区输出,如下所示:
DateTimeFormatter patternFormat = new DateTimeFormatterBuilder()
.appendPattern("yyyy-MM-dd'T'HH:mm:ss.SSS")
.appendTimeZoneOffset("Z", true, 2, 4)
.toFormatter();
Run Code Online (Sandbox Code Playgroud)