2012-06-25 32 views
-1

我只是想知道是否可以計算兩個日期之間的差異,使用此示例代碼,但是當日期格式爲yyyy-MM-dd hh:mm:ss 如果日期格式是yyyy-MM-dd'T'HH:mm:ss.SSSZ,一切正常。Android使用喬達時間來計算日期之間的差異

int days = Days.daysBetween(new DateTime(today), new DateTime(StartTime1)).getDays(); 

回答

0

它與「yyyy-MM-dd'T'HH:mm:ss.SSSZ」,因爲該格式在ISODateTimeFormat支持 - 它處理任何String參數傳遞到DateTime(Object)構造。

您應該爲「yyyy-MM-dd hh:mm:ss」構建合適的DateTimeFormatter,並使用它替代,例如,像這樣:

DateTimeFormatterBuilder b = new DateTimeFormatterBuilder(); 
b.append(ISODateTimeFormat.yearMonthDay()); 
b.appendLiteral(" "); 
b.append(ISODateTimeFormat.hourMinuteSecond()); 
DateTimeFormatter fmt = b.toFormatter(); 
// fmt can now be used to parse "yyyy-MM-dd hh:mm:ss" patterns, like so: 
System.out.println(fmt.parseDateTime("2010-04-20 20:13:59")); 

編輯:從「yyyy-MM-dd hh:mm:ss」轉換爲「yyyy-MM-dd'T'HH:mm:ss.SSSZ」你可以這樣做:

String dateTime = ISODateTimeFormat.dateTime() 
     .print(fmt.parseDateTime("2010-04-20 20:13:59")); 

不知道有什麼好,將你相比,具有有效DateTime(這是fmt.parseDateTime("2010-04-20 20:13:59")的輸出)。

+0

謝謝你的回覆Jens。如果我想將「yyyy-MM-dd hh:mm:ss」格式轉換爲「yyyy-MM-dd'T'HH:mm:ss.SSSZ」格式?我認爲,就我而言,這將是最好的事情。我必須使用不同的時區。 – user1251064

+0

延斯,謝謝你!我得到它的工作。 :)感謝您的時間和耐心。 – user1251064