junghansmega Geschrieben 9. September 2008 Geschrieben 9. September 2008 Hallöchen, ich habe ein Datum als String und parse es als Date. Dann erzeuge ich ein zweites Date Objekt (aktuelle Zeit/Datum). Der Vergleich klappt aber nicht. Ich vermute, weil in Heute noch , wie gesagt, die aktuelle Zeit drin steht: import java.text.SimpleDateFormat; import java.util.Date; import java.text.ParseException; public class test { public static void main(String[] args) { //09.09.2008 Date Datum = null; try { Datum = new SimpleDateFormat("yyyyMMdd").parse("20080909"); } catch (ParseException e) { e.printStackTrace(); } //aktuelles Datum/Zeit Date Heute = new Date(); //Datum = Heute ? System.out.println(Heute.equals(Datum)); //Ausgabe: false } } Wie kann ich also die Zeit (Stunden/Minuten/Sekunden) Ignorieren? Habe gesehen es gbt memberfunctions wie setHour(), aber die sind alle deprecated. Viele Grüsse Zitieren
TDM Geschrieben 9. September 2008 Geschrieben 9. September 2008 Wäre Date nicht fast komplett deprecated, würd ich glatt sagen: setHours(int hours) setMinutes(int minutes) setSeconds(int seconds) ... hm, also entweder (Gregorian)Calendar oder über getTime die Millisekunden aufn Tag runterbrechen und mit Datum vergleichen. Zitieren
Dragon8 Geschrieben 9. September 2008 Geschrieben 9. September 2008 Ich würde dir ebenfalls empfehlen die Klasse Calendar für die Datumsberechnung zu benutzen. Die Klasse bietet mit der Methode setTime(Date) auch gleich ne Möglichkeit dein Date Objekt einzupflegen. Jedoch wirste auch bei der Klasse auf dasselbe Problem mit der Zeit stoßen. Mit der Methode set(int,int) und dem Sammelsorium an Konstanten ist es möglich die Zeit einheitlich einzustellen. Zitieren
kingofbrain Geschrieben 9. September 2008 Geschrieben 9. September 2008 Servus, die Idee mit dem Calendar ist schon gut. Erzeuge Dir zwei Calendar Instanzen und setze mit clear() die Felder auf undefined. Danach setzt Du den Tag, Monat und Jahr und kannst vergleichen. Peter Zitieren
Pinhead Geschrieben 10. September 2008 Geschrieben 10. September 2008 Oder du parst das heutige Datum mit der gleichen SimpleDate Format Maske. Sollten allerdings in absehbarer Zeit noch mehr Datumsfunktionen nötig sein würde ich auch auf Calender wechseln. Zitieren
nekokaburi Geschrieben 19. September 2008 Geschrieben 19. September 2008 Ich würde auch den (Gregorian)Calendar einsetzen und die Werte setzen. Date sollte nur für einfache Sachen verwendet werden und nicht für Berechnungen/Vergleiche/etc. Noch eine Sache, bitte schreib die Variablen am Anfang klein "Code Convention" einfach mal googlen, macht es den anderen wesentlich leichter deinen Code zu lesen *g* Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.