No nevím. Podle mého je nejjednodušší cestou vlastní triviální parser,
který ze stringů udělá milisekundy.
Pomocí String.split(), Integer.parseInt() a operace násobení.

2010/3/7 danisevsky <danisev...@gmail.com>:
> diky, toto:
>
> Date date3 = new Date(date1.getTime() - date2.getTime() +
> date1.getTimezoneOffset()*60000);
>
> funguje, ale metoda getTimezoneOffset() je deprecated a navic jsem k
> java.util.Date ztratil duveru, protoze teto tride a jeji praci s casem vubec
> nerozumim.
>
> Muj pozadavek je jednoduchy, prijdou mi dva Stringy predstavujici cas ve
> tvaru "HH:mm:ss" a znamenaji:
>
> 1. string = doba za kterou auto ujelo 1. okruh
> 2. string = doba za kterou auto ulejo 1. okruh + 2. okruh
>
> ja potrebuji cisty cas za ktery auto ujelo 2. okruh.
>
> Ted koukam na joda time a taky tam nemuzu najit tridu, se kterou by to slo
> snadno udelat. Chci aby vsechny casy mely stejny typ (nevim zda pouzit
> LocalTime, Period, Duration, nebo neco jineho) a aby umely pracovat s
> formatovacem:
>  - vytvorit instanci zadanim formatovace a stringu predstavujiciho cas
>  - moznost vratit cas jako string ve formatu zadanym formatovacem
>
>
>
> 2010/3/7 <n...@email.cz>
>>
>> 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 <danisev...@gmail.com>
>> 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 <xmed...@gmail.com(mailto:xmed...@gmail.com)>
>> " Nebo nastavte pro SimpleDateFormat Locale.ROOT.
>>
>> 2010/3/6 Filip Jirsák <filip.jir...@gmail.com
>> (mailto:filip.jir...@gmail.com)>:
>>
>>
>>
>>
>> > 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 <danisev...@gmail.com
>> (mailto:danisev...@gmail.com)> 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
>> "
>>
>
>



-- 
Oto 'tapik' Buchta, ta...@buchtovi.cz, http://tapikuv.blogspot.com

Odpovedet emailem