2013-04-09 83 views
1

在我的Android應用程序,我需要找到該日期大於或smaller.I已經使用下面的代碼。此代碼工作不錯,但有時它顯示錯誤output.Pls幫助兩個日期之間的比較沒有顯示正確結果

String strDate1 = "3/9/2013"; 
    String strDate2 = "4/6/2013"; 

    SimpleDateFormat sdf = new SimpleDateFormat("m/d/yyyy"); 
    java.util.Date d1; 
    java.util.Date d2; 
    try { 
     d1 = sdf.parse(strDate1); 
     d2 = sdf.parse(strDate2); 
     if (d1.after(d2)) 
     { 
       System.out.println("d1 is after d2"); 
     } 
     else if (d1.before(d2)) 
     { 

      System.out.println("d1 is before d2"); 
     } 
     else 
     { 
      System.out.println("d1 is equal to d2"); 
     } 

    } catch (ParseException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

對於上面的代碼,我得到的輸出爲「d1在d2之後」。但真正的事情是「d1在d2之前」。請建議我是否對此做過任何錯誤。

回答

5

您在月份使用了錯誤的格式。

SimpleDateFormat sdf = new SimpleDateFormat("M/d/yyyy"); 

m是在小時分 M是本月今年

+0

雅作品感謝... – Hema 2013-04-10 05:11:16

0

嘗試更改日期格式以下

SimpleDateFormat sdf = new SimpleDateFormat("M/d/yyyy"); 
0

你需要開始使用幾個月M不分鐘,這是由m提供。

SimpleDateFormat sdf = new SimpleDateFormat("M/d/yyyy");