2010-12-16 13 views
0

JSPページには、01〜12月、15〜12月、30〜12月、15日という4つのサンプル日付があります。私は上記の日付と現在の日付の差はここ152つの日付の違いを見つける

であるかどうかを確認する必要があることは私の試みです:私は違いがあるかどうか、すべての4つのシナリオのための条件を確認してきました

Calendar calendar = Calendar.getInstance(); 
    Calendar calendar1 = Calendar.getInstance(); 
    Calendar calendar2 = Calendar.getInstance(); 
    Calendar calendar3 = Calendar.getInstance(); 
    Calendar calendar4 = Calendar.getInstance(); 

    calendar1.set(2011, 11, 02); 
    calendar2.set(2011, 06, 02); 
    calendar3.set(2011, 09, 07); 
    calendar4.set(2011, 06, 05); 

    long milliseconds1 = calendar1.getTimeInMillis(); 
    long milliseconds2 = calendar.getTimeInMillis(); 

    long diff = milliseconds2 - milliseconds1; 
    long diffDays = diff/(24 * 60 * 60 * 1000); 

    if (diffDays <= 15) { 
     System.out.println("Fifteen"); 
    } else { 
     System.out.println("No Fifteen"); 
      } 

15か。それらのカレンダーインスタンスをマップまたはリストに配置する。私はそれをする方法を知らない。

+0

可能重複(http://stackoverflow.com/questions/453388/calculating-difference-in-dates- in-java) –

+2

JSPのような計算を行うべきではありません。バッキングJavaサービスBeanでそれを行い、その値をJSPに公開します。 –

+0

JavaコードをJSPファイルに正しく書き込んでもJSPの問題にはなりませんが、通常のJavaクラスではまったく同じ問題が発生します。そこで、JSPタグを削除しました。 – BalusC

答えて

1

これにはjoda timeを使用することをおすすめします。それはまた、タイムゾーンと夏時間の違いを要因としています。ここでは、2つの日付間の日数を取得する方法の例を示します。 date4jライブラリと

Days d = Days.daysBetween(startDate, endDate); 
int days = d.getDays(); 
if(days==15){ 
    //do something 
} 
0

:[Javaで日付で計算違い]の

int days = dt.numDaysFrom(today); 
関連する問題