|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Jul 2011
Messaggi: 152
|
differenza in giorni tra due date
Ciao,ho un problema nel confrontare la differenza in giorni tra due date..Uso questo pezzo di codice per vedere se due date sono uguali
GregorianCalendar data1 = new GregorianCalendar(2008, 11, 18); GregorianCalendar data2 = new GregorianCalendar(2007, 11, 10); long milliseconds1 = data1.getTimeInMillis(); long milliseconds2 = data2.getTimeInMillis(); long diff = milliseconds2 - milliseconds1; long diffSeconds = diff / 1000; //differenza in secondi long diffMinutes = diff / (60 * 1000); //differenza in minuti long diffHours = diff / (60 * 60 * 1000); //differenza in orelong diffDays = diff / (24 * 60 * 60 * 1000); //differenza in giorni Il problema e che la differenza in gironi mi da sempre 0,anche se controllo prima le date e uno mi segna 18 febbraio e l'altra 19 febbraio,come posso fare? |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Sep 2005
Città: Torino
Messaggi: 606
|
Dovresti essere più preciso:
1) metti nel titolo tra parentesi quadre il linguaggio di programmazione che usi 2) metti il codice tra gli opportuni tag 3) specifica la parte di codice che non funziona come dovrebbe (meglio ancora se riesci a mettere un programma standalone dove stanno tutte le funzioni relative al tuo problema, così come un main con i test e l'output del programma. detto questo, quel pezzo di codice funziona bene. Inoltre, se a te interessa solo sapere se le date sono uguali o meno, perchè non usare equals? Codice:
GregorianCalendar data1 = new GregorianCalendar(2008, 11, 18); GregorianCalendar data2 = new GregorianCalendar(2007, 11, 10); GregorianCalendar data3 = new GregorianCalendar(2008, 11, 18); System.out.println(data1.equals(data2)); System.out.println(data1.equals(data3)); System.out.println(data3.equals(data2));
__________________
"Se proprio dovete piratare un prodotto, preferiamo che sia il nostro piuttosto che quello di qualcun altro." [Jeff Raikes] "Pirating software? Choose Microsoft!" |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Jul 2011
Messaggi: 152
|
Ok,soltanto che io voglio sapere la differenza in giorni. La data era solo per esempio,nel mio problema ho la data attuale e una data che viene passata e questo è variabile,il problema e che la differenza in giorni mi ritorna sempre 0
|
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Jul 2011
Messaggi: 152
|
risolto con il grande joda time
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:34.