Veröffentlicht 9. September 200816 j 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
9. September 200816 j 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.
9. September 200816 j 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.
9. September 200816 j 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
10. September 200816 j 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.
19. September 200816 j 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*
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.