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

标签 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-01-15+0100

我想要什么:

2018-01-15+01:00

最佳答案

您应该阅读docs .

Zone: 'Z' outputs offset without a colon, 'ZZ' outputs the offset with a colon, 'ZZZ' or more outputs the zone 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");

关于java - 如何获得 Joda DateTime 时区的冒号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48406713/

相关文章:

javascript - 在 Moment Js 中获取两个日期之间的小时差

java - 如何检查日期是否超过 30 天?

java - Joda-Time DateFormatter 在非零时显示毫秒

java - 实现 Runnable 与扩展 Thread

java - 当我点击离开应用程序时如何停止媒体播放器?

java - 对于这种特殊情况,我应该使用什么数据结构?

java - 如何根据ViewPager中当前的ImageView更新父Activity中的TextView

java - 使用 simpledateformat 根据区域设置解析日期

java - 将 24 小时划分为 30 分钟的时间间隔

java - SimpleDateFormat 是否有格式字符串来获取毫秒日期时间值而不是人类可读的形式?