|
|
|
![]() |
|
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: 23:18.