|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
[JAVA] classe java.sql.Date Mi serve la data di ieri!!!
Ciao!
per motivi che adesso non sto a spiegare mi serve un sistema, che data la data di oggi, mi restituisca un nuovo oggetto Date con la data di ieri. del tipo: Date d = new Date(); Date ieri = d.getDataDiIeri(); GRAZIE! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2005
Città: Roma
Messaggi: 7938
|
Fai un metodo che riceve l'oggetto data e ne restituisce un altro. Questo metodo restituisce la data di ieri, diminuendo il giorno di 1, e se uguale a 1 fai i controlli sul mese ed eventualmente anche sull'anno, e poi crei una nuova data passandogli i parametri giusti.
Credo che sia chiaro?!?
__________________
My gaming placement |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Codice:
Calendar ieri = new GregorianCalendar(2005, Calendar.JULY, 19); Date date = ieri.getTime(); |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
franksisca: ci sono problemi con anni bisestili... o cmq quando un mese ha 30 giorni... se sono al 1° febbraio, che faccio? 1-1???? fa 30? o fa 31?
kingv stai scherzando o stai dicendo sul serio? |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
Quote:
ti ho indicato le classi da usare, logicamente penso che tu voglia rendere parametrico il tutto: Codice:
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
OK, grazie, ma non mi funziona molto bene! ieri era 19...
Codice:
import java.util.*;
public class DataIeri{
public static void main(String[] args){
Date d = new Date();
Date ieri = dataDiIeri(d);
System.out.println(ieri);
}
public static Date dataDiIeri(Date oggi)
{
Calendar ieri = new GregorianCalendar(oggi.getYear(), oggi.getMonth(), oggi.getDay());
ieri.add(Calendar.DATE, -1);
return ieri.getTime();
}
}
|
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
Guarda, alla fine ho trovato 3 righe di codice che risolvono il problema sebbene sia deprecato qualcosa..
Codice:
long aDay = 1000 * 60 * 60 * 24; long now = System.currentTimeMillis(); Date yesterday = new Date(now - aDay); |
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
|
scusa non avevo provato quello che ti ho postato, ora dovrebbe essere ok:
Codice:
public class DataIeri{
public static void main(String[] args){
Date d = new Date();
Date ieri = dataDiIeri(d);
System.out.println(ieri);
}
public static Date dataDiIeri(Date oggi)
{
Calendar ieri = new GregorianCalendar();
ieri.setTime(oggi);
ieri.add(Calendar.DATE, -1);
return ieri.getTime();
}
}
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
Grazie mille fratello
|
|
|
|
|
|
#10 | |
|
Bannato
Iscritto dal: Feb 2001
Città: Pescara
Messaggi: 10542
|
Quote:
Non mi sembra una soluzione molto elegante :P |
|
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Jan 2004
Città: ROMA
Messaggi: 2055
|
Proovalo!!!!
Codice:
import java.util.*;
public class DataIeri{
public static void main(String[] args){
long aDay = 1000 * 60 * 60 * 24;
long now = System.currentTimeMillis();
Date yesterday = new Date(now - aDay);
System.out.println(yesterday);
}
}
|
|
|
|
|
|
#12 | |
|
Bannato
Iscritto dal: Feb 2001
Città: Pescara
Messaggi: 10542
|
Quote:
dicevo solo che era una soluzione poco elegante :P |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:10.



















