Jen asi mozna jeste na vysvetlenou. Trida Date vubec s casovym pasmem
nepracuje je ji to jedno. Ta se stara pouze o pocet milisekund od roku 1970.
Casova zona se ale uplatnuje v okamziku kdy datum parsujete z nejakeho
stringu pomoci SimpleDateFormat (nebo necoho podobneho) nebo naopak
formatujete datum do Stringu. Je to prave pro to, ze jsou to tridy pro praci
s datumem jak nazev napovida, nikoli obecne tridy na praci s casem coz by
jste potreboval Vy.

Pavel

2010/3/7 Pavel Savara <[email protected]>

> Dobry den,
> myslim ze Vas problem spociva v tom, ze se snazite naformatovat casovy
> rozdil pomoci SimpleDateFormat tridy, ktera je ale navrzena na praci s
> datumem v ramci casove zony (ne na praci s casem jako takovym). Tedy problem
> neni vubec ve tride Date ale ve vasem formatovani casoveho rozdilu.
>
> Pouzil bych neco takoveho. Urcite by Vas napadl i elegantnejsi algoritmus,
> ale na demonstraci to staci:
>
> public static void main(String[] args) throws ParseException {
>         // TODO code application logic here
>         SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
>         Date date1 = format.parse("00:40:20");
>         Date date2 = format.parse("00:30:10");
>
>         long period = date1.getTime() - date2.getTime();
>         long h = period/(1000*60*60);
>         long rest = period%(1000*60*60);
>         long m = rest/(1000*60);
>         rest = rest%(1000*60);
>         long s = rest/(1000);
>         long milis = rest%(1000);
>         System.out.println(h+":"+m+":"+s+"."+milis);
>
>     }
>
> Hezky den
> Pavel  Savara
>
> 2010/3/6 danisevsky <[email protected]>
>
> ahoj, mohl by mi prosim nekdo vysvetlit tuto metodu:
>>
>>  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());
>>         System.out.println(format.format(date3));
>>     }
>>
>> vystup je: 01:10:10
>>
>> proc to neni 00:10:10? kde se vzala ta hodina?
>> moc diky
>>
>>
>>
>

Odpovedet emailem