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