Hallo Leute
ich experimentiere gerade mit dem Datum in Java 1.4.
Ich habe 2 Calender Objekte erzeugt und möchte die Zeit ausgeben die zwischen den beiden Zeiten vergangen ist. Ungefähr so...
"Es sind 23 Jahre, 6 Monat, 12 Tage, 7 Std, 3 Min und 54 Sekunden vergangen"
Ich dachte ich hole mir die Differenz der beiden Calender-Objekte in Millisekunden und rechne die dann um.
Es scheint so das die Umrechnerei bei den Variablen von der Sekunde, Minute, Std bis zum Tag funktioniert. Doch plötzlich ab dem Monat durcheinander kommt.
Beim Monat erzeugt er mir Minus Werte und das Jahr haut auch nicht hin.
Was für einen Grund kann das haben? Bin für jede Anregung dankbar.
Bei diesem Code...
long GebInMs = calGeburtstag.getTimeInMillis();
long HeuteInMs = calHeute.getTimeInMillis();
long DeltaInMs = HeuteInMs - GebInMs;
long sek = DeltaInMs / 1000;
long min = DeltaInMs / (1000*60);
long std = DeltaInMs / (1000*60*60);
long tag = DeltaInMs / (1000*60*60*24);
long woc = DeltaInMs / (1000*60*60*24*7);
long mon = DeltaInMs / (1000*60*60*24*30);
long jahr = DeltaInMs / (1000*60*60*24*365);
System.out.println("Weitere Informationen zu den Calenderwerten: \n "
+ "Calender-Objekte ...: " + calGeburtstag + "\n"
+ "Jahr................: " + calGeburtstag.get(Calendar.YEAR) + "\n"
+ "Geburtstag in ms....: " + GebInMs + "\n"
+ "Heute in ms ........: " + HeuteInMs + "\n"
+ "Differenz in ms ....: " + DeltaInMs + "\n"
+ "sek.................: " + sek + "\n"
+ "min.................: " + min + "\n"
+ "std.................: " + std + "\n"
+ "tag.................: " + tag + "\n"
+ "woc.................: " + woc + "\n"
+ "mon.................: " + mon + "\n"
+ "jahr.................: " + jahr + "\n\n"
);
haben die Variablen diese Werte:
Geburtstag in ms....: 1158872131718
Heute in ms ........: 1193057191718
Differenz in ms ....: 34185060000
sek.................: 34185060
min.................: 569751
std.................: 9495
tag.................: 395
woc.................: 56
mon.................: -20 <-- Seltsam
jahr.................: 23 <-- Auch seltsam sollte eigentlich 1 sein.
Viele Grüße
Andy
ich experimentiere gerade mit dem Datum in Java 1.4.
Ich habe 2 Calender Objekte erzeugt und möchte die Zeit ausgeben die zwischen den beiden Zeiten vergangen ist. Ungefähr so...
"Es sind 23 Jahre, 6 Monat, 12 Tage, 7 Std, 3 Min und 54 Sekunden vergangen"
Ich dachte ich hole mir die Differenz der beiden Calender-Objekte in Millisekunden und rechne die dann um.
Es scheint so das die Umrechnerei bei den Variablen von der Sekunde, Minute, Std bis zum Tag funktioniert. Doch plötzlich ab dem Monat durcheinander kommt.
Beim Monat erzeugt er mir Minus Werte und das Jahr haut auch nicht hin.
Was für einen Grund kann das haben? Bin für jede Anregung dankbar.
Bei diesem Code...
long GebInMs = calGeburtstag.getTimeInMillis();
long HeuteInMs = calHeute.getTimeInMillis();
long DeltaInMs = HeuteInMs - GebInMs;
long sek = DeltaInMs / 1000;
long min = DeltaInMs / (1000*60);
long std = DeltaInMs / (1000*60*60);
long tag = DeltaInMs / (1000*60*60*24);
long woc = DeltaInMs / (1000*60*60*24*7);
long mon = DeltaInMs / (1000*60*60*24*30);
long jahr = DeltaInMs / (1000*60*60*24*365);
System.out.println("Weitere Informationen zu den Calenderwerten: \n "
+ "Calender-Objekte ...: " + calGeburtstag + "\n"
+ "Jahr................: " + calGeburtstag.get(Calendar.YEAR) + "\n"
+ "Geburtstag in ms....: " + GebInMs + "\n"
+ "Heute in ms ........: " + HeuteInMs + "\n"
+ "Differenz in ms ....: " + DeltaInMs + "\n"
+ "sek.................: " + sek + "\n"
+ "min.................: " + min + "\n"
+ "std.................: " + std + "\n"
+ "tag.................: " + tag + "\n"
+ "woc.................: " + woc + "\n"
+ "mon.................: " + mon + "\n"
+ "jahr.................: " + jahr + "\n\n"
);
haben die Variablen diese Werte:
Geburtstag in ms....: 1158872131718
Heute in ms ........: 1193057191718
Differenz in ms ....: 34185060000
sek.................: 34185060
min.................: 569751
std.................: 9495
tag.................: 395
woc.................: 56
mon.................: -20 <-- Seltsam
jahr.................: 23 <-- Auch seltsam sollte eigentlich 1 sein.
Viele Grüße
Andy