tohle by mělo fungovat všude na světě:
public static void main(String[] args) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
Date date1 = format.parse("00:40:20");
Date date2 = format.parse("00:30:10");
Date date3 = new Date(date1.getTime() - date2.getTime() + date
1.getTimezoneOffset()*60000);
System.out.println(format.format(date3));
}
------------ Původní zpráva ------------
Od: danisevsky <[email protected]>
Předmět: Re: problem s java.util.Date
Datum: 07.3.2010 13:32:53
---------------------------------------------
diky za vysvetleni. Nevim zda pro moje ucely neni Joda Time
zbytecne, potrebuji pouze ulozit do db dva casy a jejich rozdil.
Mimochodem jaka trida by se na to z Joda Time hodila, LocalTime?
Navic pouzivam hibernate a tam neni s mapovanim java.util.Date zadna
prace.
nastaveni Locale.ROOT, pokud jste to myslel takto:
public static void main(String[] args) throws ParseException {
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss",
Locale.ROOT);
Date date1 = format.parse("00:40:20");
Date date2 = format.parse("00:30:10");
Date date3 = new Date(date1.getTime() - date2.getTime());
System.out.println(format.format(date3));
}
nepomohlo, porad je vystup o hodinu vic.
2010/3/6 Ondra Medek <[email protected](mailto:[email protected])>
" Nebo nastavte pro SimpleDateFormat Locale.ROOT.
2010/3/6 Filip Jirsák <[email protected]
(mailto:[email protected])>:
> Dobrý večer,
> vzala se tam takto: date3 je 1. ledna 1970 0:10:10 GMT (610 sekund
po
> 1.1.1970 0:00:00 GMT), vy si to necháte vypsat pomocí
SimpleDateFormat v
> aktuálním časovém pásmu (CET), které je o hodinu posunuté vůči
GMT, takže
> date3 v něm znamená 1. ledna 1970 1:10:10 CET. Z toho si necháte
vypsat
> jenom čas (bez časové zóny, což vás mate).
>
> java.util.Date pro takovéto použití není vůbec vhodný. Pokud
chcete provádět
> takovéto výpočty s časem, použijte třeba knihovnu Joda Time.
>
> S pozdravem
>
> Filip Jirsák
>
>
> Dne 6. března 2010 18:54 danisevsky <[email protected]
(mailto:[email protected])> napsal(a):
>>
>> SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
>> Date date1 = format.parse("00:40:20");
>> Date date2 = format.parse("00:30:10");
>> Date date3 = new Date(date1.getTime() - date2.getTime());
>> System.out.println(format.format(date3));
>
--
Ondra Medek
"