2013-04-09 95 views
1

我一直在試圖計算兩個日期之間的時間差,以分鐘爲單位。下面的代碼是我擁有的。但它給了我負面的價值。誰能幫我!!?計算月份變化的時差

import java.util.Date; 
import java.text.ParseException; 
import java.text.SimpleDateFormat; 


public class time { 

/** 
* @param args 
* @throws ParseException 
*/ 
public static void main(String[] args) throws ParseException { 
    // TODO Auto-generated method stub 

    String time1 = "05/01/2010 11:59:00"; 
    String time2 = "04/30/2010 23:59:00"; 

    SimpleDateFormat sdf = new SimpleDateFormat("mm/dd/yyyy H:mm:ss"); 
    Date date1 = sdf.parse(time1); 
    Date date2 = sdf.parse(time2); 
    long difference = date1.getTime() - date2.getTime(); 
    System.out.println(difference/(3600*1000)); 
} 

} 

回答

8

您必須在第一位置,在你的日期格式使用MM代替mmmm is minutes, MM is months

SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy H:mm:ss"); 
+0

非常感謝幫助我 – user2261923 2013-04-09 14:09:08

3

您所使用的日期格式爲混合分鐘和幾個月。

你應該使用這個格式來代替:MM/dd/yyyy HH:mm:ss

另外,計算是錯誤的,你越來越以小時爲單位的差別,如果你想要個小時,你應該這樣做:System.out.println((difference/1000)/60);

+0

非常感謝您的幫助 – user2261923 2013-04-09 14:09:37