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
>
>
>