Wie um zu überprüfen, ob zu einem bestimmten Datum übergeben wird

Ich habe einen string der form "mm/JJJJ", und ich möchte um es zu vergleichen gegen das Datum des lokalen Systems.

Ich dachte daran, entweder mithilfe einer umrechnungstabelle zwischen mein Monat und das Feld für den MONAT im Kalender, so etwas wie:

    Calendar cal = Calendar.getInstance();
    String date = "07/2014";
    String month = date.subString(0, 2);
    int monthToCompare;
    if (month.equals("01"))
      monthToCompare = cal.JANUARY;
    if (month.equals("02"))
      monthToCompare = cal.FEBRUARY;
    ...

Und dann manuell vergleichen mit einer wenn. Ich mag es nicht, weil ich denke, dass ist viel zu lange für so eine einfache Bedienung.

Die andere Möglichkeit, die ich gedacht habe, der wird immer der aktuelle Date() und mit der before() Methode. Das würde bedeuten, dass die übersetzung von Datum zu Datum-format, aber der einfache Methoden, um es zu tun, sind veraltet, ich muss geben Sie die Anzahl der Millisekunden an, und ich weiß nicht, wie zu tun leicht, dass (unter Berücksichtigung der Schaltjahre, Kalender-Korrekturen und so weiter, die seit 1970).

Ich sagte: ich weiß, über diese beiden Methoden, und dass ich nicht weiß, wie man ein Date-Objekt zu vergleichen mit aus einem String.
Haben Sie sah DateFormat.parse()?
Duplizieren: Java-string zu Datum-Konvertierung
FYI, ist die lästige alte Datum-Zeit-Klassen wie java.util.Date, java.util.Calendar, und java.text.SimpleDateFormat sind jetzt legacy, überlagert von der java.Zeit Klassen gebaut in Java 8 & Java 9. Siehe Tutorial von Oracle. Tipp: YearMonth Klasse.
Re-opening, wie ich bemerkte, die Frage ist hier, startet mit nur einer Jahr-Monat eher als ein Datum. Anders die Duplikate markiert.

InformationsquelleAutor user2891462 | 2014-06-12

Schreibe einen Kommentar