Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Java e ora legale

496 views
Skip to first unread message

Alessandro

unread,
May 22, 2009, 6:52:46 PM5/22/09
to
Leggendo qu� e l� sembra che con le ultime versioni di JVM, teoricamente
l'ora legale o solare sia gi� considerata in automatico.

Mi spiego, il codice seguente dovrebbe essere sempre valido tutto l'anno,
quindi l'offset DST andr� da solo a 0 quando arriveremo all'ora invernale ?
Adesso ovviamente vale 1h e lo stesso per il time zone quindi 2h in pi�.


//CODE
Date timeStmp = ...
...
Calendar cal = Calendar.getInstance();
Timestamp ts = new Timestamp (timeStmp.getTime() +
cal.get(Calendar.DST_OFFSET) + cal.get(Calendar.ZONE_OFFSET));
//FINE


Grazie,
Alessandro


rootkit

unread,
May 23, 2009, 5:54:33 AM5/23/09
to
Il 23-05-2009 0:52, Alessandro ha scritto:


> Calendar cal = Calendar.getInstance();
> Timestamp ts = new Timestamp (timeStmp.getTime() +
> cal.get(Calendar.DST_OFFSET) + cal.get(Calendar.ZONE_OFFSET));
> //FINE

errore.
se leggi la documentazione scopri che il tempo contenuto in Date o
Timestamp ᅵ riferito *esclusivamente* a GMT o UTC che dir si voglia. ᅵ
un valore *assoluto*.
per passare a/da una data di calendario, comprese le correzioni TimeZone
e ora legale/solare, occorre *obbligatoriamente* passare da un Calendar.
il quale fa tutto in automatico.

per inciso, l'operazione che tu compi equivale a creare un Timestamp che
rappresenta un tempo shiftato in valore assoluto di un certo numero di
ore rispetto all'ora corrente.


--
++ questo messaggio ᅵ scritto in forma ridotta per venire incontro alle
vostre capacitᅵ mentali
http://unopuntozero.wordpress.com/
http://www.flickr.com/photos/marko_po/

0 new messages