2010-12-16 16 views
0

In einer JSP-Seite habe ich vier Beispieltermine wie 01- Dez, 15-Dez, 30-Dez und 15-Jan. Ich muss überprüfen, ob das Datum oben und Differenz des aktuellen Datum 15.Den Unterschied zwischen zwei Daten finden

Hier ist mein Versuch:

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"); 
      } 

Ich habe die Bedingung für alle vier Szenarien zu prüfen, ob die Differenz 15 ist oder nicht . Setzen Sie diese Kalender-Instanzen in eine Karte oder eine Liste. Ich weiß nicht, wie ich es machen soll.

+0

möglich Duplikat [Berechnung Differenz in Daten in Java] (http://stackoverflow.com/questions/453388/calculating-difference-in-dates- in-java) –

+2

Sie sollten solche Berechnungen in JSP nicht durchführen. tue es in einer Backing-Java-Service-Bean und stelle die Werte der JSP zur Verfügung. –

+0

JAVA-Code falsch in eine JSP-Datei schreiben macht es nicht zu einem JSP-Problem, Sie hätten in einer normalen Java-Klasse genau das gleiche Problem. Also habe ich das JSP-Tag entfernt. – BalusC

Antwort

1

Ich würde empfehlen, dafür joda time zu verwenden. Es berücksichtigt auch die Zeitzonen- und Sommerzeitunterschiede. Hier ist ein Beispiel, wie man die Differenz von Tagen zwischen 2 Daten erhält.

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

Mit der date4j Bibliothek:

int days = dt.numDaysFrom(today); 
Verwandte Themen