我有兩個時間戳,它們以兩種不同的格式描述相同的時間。Joda與時區的分析日期
2010-10-03 18:58:07
和2010-10-03T16:58:07.000+02:00
。
我用兩個不同的日期格式化器與Joda解析時間戳。最後,我希望有兩個DateTime對象在相同的時刻相同。
DateFormatter提供了幾種方法來控制時區和地區,但我無法讓它工作。
這是我想工作的代碼:
final String date1 = "2010-10-03 18:58:07"; // Europe/Berlin local time
final DateTimeFormatter formatter1 = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
final DateTime dateTime1 = formatter1.parseDateTime(date1);
final String date2 = "2010-10-03T16:58:07.000+02:00"; // Europe/Berlin local time with time zone
final DateTimeFormatter formatter2 = DateTimeFormat.forPattern("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
final DateTime dateTime2 = formatter2.parseDateTime(date2);
Assert.assertTrue(dateTime1.isEqual(dateTime2));
在此先感謝如果有人能幫助我!
「2010-10-03T16:58:07.000 + 02:00」表示不是GMT時間爲+2小時的時區不是16:58:07)「。它必須是:「2010-10-03T16:58:07.000 + 02:00表示在UTC時間偏移+2小時的時區爲16:58:07)」 – MicSim 2011-01-07 13:37:39