【问题标题】:How do I get a colon in timezone of Joda DateTime?如何在 Joda DateTime 的时区获得冒号?
【发布时间】:2018-07-02 13:37:24
【问题描述】:
我正在尝试将我的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-01-15+0100
我想要什么:
2018-01-15+01:00
【问题讨论】:
标签:
java
date
datetime
jodatime
datetime-format
【解决方案1】:
您应该阅读docs。
Zone:'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");
【解决方案2】:
您需要使用ZZ 以冒号输出。所以:
String result = formattedDate.toString("yyyy-MM-ddZZ");
将输出:
2018-01-15+01:00