我想以字符串格式比較兩個日期,並以HH:MM:SS:SSS的結果作爲字符串返回結果。 當我嘗試使用15 Jul 2013 17:08:34.903
的開始日期和結束日期 15 Jul 2013 17:08:51.247
運行以下內容時,我期望看到00:00:16.344
的結果。相反,我得到01:00:16.344
的差異。任何想法,爲什麼會這樣?SimpleDateFormat比較問題
private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("d MMM yyyy HH:mm:ss.SSS");
private static final SimpleDateFormat DATE_FORMAT_HH_MM_SS = new SimpleDateFormat("HH:mm:ss.SSS");
public String calculateDuration(String startDateStr, String endDateStr){
String methodName = "calculateDuration";
try {
Date startDate = DATE_FORMAT.parse(startDateStr);
Date endDate = DATE_FORMAT.parse(endDateStr);
long diff = endDate.getTime() - startDate.getTime();
return DATE_FORMAT_HH_MM_SS.format(diff);
這是Java嗎?考慮給它語言標記 – doctorlove
是你的TZ UTC + 1? –
我認爲你應該使用[* JodaTime *](http://joda-time.sourceforge.net/)來計算時間差(持續時間)。這將簡化你的生活。 – LaurentG