Hallo zusammen,
ich habe ein Datum im Format "yyyy.MM.dd HH:mm:ss" als String vorliegen und möchte prüfen, ob dieses Datum in der Vergangenheit liegt.
Mein erster Ansatz war einfach folgende Subtraktion durchzuführen (targetDate.getTime-currentDate.getTime) und zu prüfen ob eine negative Zahl dabei heraus kommt.
Das Problem dabei scheint zu sein, dass targetDate, welches ich vorher per SimpleDateFormat("yyyy.MM.dd HH:mm:ss") umwandle, immer eine große negative Zahl ist.
Meine Testausgabe sieht so aus:
target:-61591483955000
current:1255353985000
sub:-62846837940000
Ich bin mir nicht sicher, woran das liegt. Erst nahm ich an, dass durch die Umwandlung des Strings in das Date Format irgendwas verloren geht, bzw. irgendwelche Angaben (Millisekunden, etc.?!?) fehlen.
Aber dann habe ich folgende Zeilen hinzugefügt:
Also einfach testweise probiert den selben Ausgangsstring zu nehmen.
Leider führt das zum selben Ergebnis.
Kann mir wer einen Tipp geben woran das liegt bzw. wie ich das Problem löse?
Das einzige was mir noch einfällt wäre der Aufruf des Konstruktors GregorianCalendar(int year, int month, int date, int hour, int minute, int second ) und dort die jeweilgen Werte per targetDate.getYear, etc. zu füllen. Allerdings sind diese ganzen Methoden ja eigentlich als depricated eingestuft.
Schönen Gruß
oetzi
ich habe ein Datum im Format "yyyy.MM.dd HH:mm:ss" als String vorliegen und möchte prüfen, ob dieses Datum in der Vergangenheit liegt.
Mein erster Ansatz war einfach folgende Subtraktion durchzuführen (targetDate.getTime-currentDate.getTime) und zu prüfen ob eine negative Zahl dabei heraus kommt.
Das Problem dabei scheint zu sein, dass targetDate, welches ich vorher per SimpleDateFormat("yyyy.MM.dd HH:mm:ss") umwandle, immer eine große negative Zahl ist.
Meine Testausgabe sieht so aus:
target:-61591483955000
current:1255353985000
sub:-62846837940000
Ich bin mir nicht sicher, woran das liegt. Erst nahm ich an, dass durch die Umwandlung des Strings in das Date Format irgendwas verloren geht, bzw. irgendwelche Angaben (Millisekunden, etc.?!?) fehlen.
Aber dann habe ich folgende Zeilen hinzugefügt:
Java:
SimpleDateFormat formatter = new SimpleDateFormat ("yyyy.MM.dd HH:mm:ss");
currentTime = new Date();
currentTime = formatter.parse(formatter.format(currentTime));
Leider führt das zum selben Ergebnis.
Kann mir wer einen Tipp geben woran das liegt bzw. wie ich das Problem löse?
Das einzige was mir noch einfällt wäre der Aufruf des Konstruktors GregorianCalendar(int year, int month, int date, int hour, int minute, int second ) und dort die jeweilgen Werte per targetDate.getYear, etc. zu füllen. Allerdings sind diese ganzen Methoden ja eigentlich als depricated eingestuft.
Schönen Gruß
oetzi