将字符串格式化为带有时间偏移的日期格

时间:2014-07-29 19:58:41

标签: java jodatime

我需要将字符串转换为Joda DateTime对象,但我使用的代码不能正确转换。我的输入是20140722101846-0700,应该转换为与2014-07-22T10:18:46-0700不同的内容。这是我的代码,后面是错误的输出:

String myet = "20140722101846-0700"
DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyyMMddhhmmss-hhmm");
DateTime mydt = dtf.parseDateTime(myet);

产生的(不正确的)输出是:2014-07-22T07:00:46.000-07:00

如何修复上面的代码,以便输出正确的日期?

1 个答案:

答案 0 :(得分:2)

您的DateTimeFormat没有正确的符号。

M适用于月份

m是分钟

Z用于时区偏移(-0700)

DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyyMMddhhmmssZ");