1

私のAndroidアプリでは、どちらの日付が大きいか小さいかを見つける必要があります.次のコードを使用しました.このコードはうまく機能しますが、間違った出力が表示されることがあります.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 is after d2」という出力が得られましたが、実際には「d1 is before d2」です。

4

4 に答える 4

5

月に間違った形式を使用しました。

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

m時間の分を表し Mます は月の月を表します

于 2013-04-09T09:10:23.367 に答える
0

Mによって提供される分ではなく、月を取得する必要がありますm

SimpleDateFormat sdf = new SimpleDateFormat( "M/d/yyyy" );   
于 2013-04-09T09:13:07.960 に答える