52
這段代碼始終將日期解析到當前時區,而不是解析到正在解析的字符串中的時區。如何解析包含Joda時間的時區日期
final DateTimeFormatter df = DateTimeFormat
.forPattern("EEE MMM dd HH:mm:ss 'GMT'Z yyyy");
final DateTime dateTime = df
.parseDateTime("Mon Aug 24 12:36:46 GMT+1000 2009");
System.out.println("dateTime = " + dateTime);
// outputs dateTime = 2009-08-24T04:36:46.000+02:00
它輸出:
dateTime = 2009-08-24T04:36:46.000+02:00
,而我預計:
dateTime = 2009-08-24T04:36:46.000+10:00
任何想法我做錯了嗎?
你應該接受你的答案。 – 2012-11-15 09:21:25
感謝:D你是一個真正的! – mgonto 2013-07-31 17:34:44
IMO,「DateTimeFormatter」的默認行爲似乎違反了「最不驚人的原則」,特別是在解組器的上下文中。謝謝史蒂夫發掘'withOffsetParsed()'。 – 2015-05-20 02:46:10