如何在Joda DateTime的时区获得冒号?

时间:2018-01-23 16:37:09

标签: java date datetime jodatime datetime-format

我正在尝试以特定格式将DateTime解析为String。 代码:

DateTimeFormatter fmt = DateTimeFormat.forPattern("yyy-MM-dd'T'HH:mm:ss").withOffsetParsed();
DateTime formattedDate = fmt.parseDateTime(asString($client/date));
String result = formattedDate.toString("yyyy-MM-ddZ");

结果:

  

2018年1月15日+ 0100

我想要的是什么:

  

2018年1月15日+ 01:00

2 个答案:

答案 0 :(得分:3)

您应该阅读docs

  

区域:' Z'没有冒号的输出偏移,' ZZ'用冒号输出偏移量,' ZZZ'或更多输出区域ID。

所以你的代码应该是:

DateTimeFormatter fmt = DateTimeFormat.forPattern("yyy-MM-dd'T'HH:mm:ss").withOffsetParsed();
Date formattedDate = fmt.parseDateTime(asString($client/date));
String result = formattedDate.toString("yyyy-MM-ddZZ");

答案 1 :(得分:1)

您需要使用ZZ输出冒号。所以:

String result = formattedDate.toString("yyyy-MM-ddZZ");

将输出:

2018-01-15+01:00