Es gibt drei häufig verwendete Datumsklassen: Date-Klasse, Calendar (Kalender)-Klasse und Datumsformat-Konvertierungsklasse (DateFormat)
Die meisten Methoden in der Date-Klasse sind veraltet, im Allgemeinen nur der Konstruktor Verwendete Methode, um die aktuelle Zeit des Systems zu ermitteln.
public class DateDemo { public static void main(String[] args) { Date date = new Date(); System.out.println(date); } }
Die Ergebnisausgabe ist die aktuelle Systemzeit: Fr. 10. März 16:50:37 CST 2017
Wir können sehen, dass wir an dieses Zeitformat nicht gewöhnt sind, also zeigen wir die Zeit an Das Ausgabeformat muss konvertiert werden. Zu diesem Zeitpunkt müssen wir die Datumsformatkonvertierungsklasse DateFormat verwenden.
public class FormatDemo { public static void main(String[] args) { Date d=new Date(); System.out.println(d); Format f=new SimpleDateFormat("yyyy-MM-dd hh-mm-ss"); String s=f.format(d); System.out.println(s); } }
Die Ausgabezeit ist derzeit: 2017-03-10 04-54-06
Das sieht sehr komfortabel aus.
Kalender
Die Kalenderklasse ist eine abstrakte Klasse, die einen bestimmten Moment mit einer Reihe von Kalenderfeldern wie JAHR, MONAT, TAG_MONATS verknüpft , HOUR usw. Es werden Methoden zum Konvertieren zwischen und zum Bearbeiten von Kalenderfeldern bereitgestellt (z. B. Abrufen des Datums der nächsten Woche).
Kalenderfelder können mit drei Methoden geändert werden: set(), add() und roll().
1, set(f, value) ändert das Kalenderfeld f in den Wert.
2, add(f, delta) fügt Delta zum f-Feld hinzu.
3, roll(f, delta) fügt Delta zum f-Feld hinzu, ändert jedoch nicht das größere Feld.
public class Test { public static void main(String[] args) { Calendar c=new GregorianCalendar(); c.set(Calendar.DAY_OF_MONTH,1); System.out.println("输出的是本月第一天"); System.out.println((c.get(Calendar.MARCH)+1)+"月的"+c.get(Calendar.DAY_OF_MONTH)+"号"); c.roll(Calendar.DAY_OF_MONTH,-1); System.out.println("输出的是本月最后一天"); System.out.println((c.get(Calendar.MARCH)+1)+"月的"+c.get(Calendar.DAY_OF_MONTH)+"号"); } }
Das Ausgabeergebnis ist:
Die Ausgabe ist der erste Tag dieses Monats
Der 1. März
Die Ausgabe ist der letzte Tag dieses Monats Ein Tag
Der 31. März
Während der Ausführung der Roll-Methode wird, nachdem die Anzahl der Tage am ersten Tag um eins verringert wurde, direkt zum letzten Tag zurückgekehrt Tag des Monats, und das Datum ändert sich im Laufe des Monats. Der Monat wird nicht geändert, das heißt, größere Felder werden nicht geändert.
Vergleichen Sie die Add-Methode:
public class Test { public static void main(String[] args) { Calendar c=new GregorianCalendar(); c.set(Calendar.DAY_OF_MONTH,1); System.out.println("输出的是本月第一天"); System.out.println((c.get(Calendar.MARCH)+1)+"月的"+c.get(Calendar.DAY_OF_MONTH)+"号"); c.add(Calendar.DAY_OF_MONTH,-1); System.out.println("输出的是上个月最后一天"); System.out.println((c.get(Calendar.MARCH)+1)+"月的"+c.get(Calendar.DAY_OF_MONTH)+"号"); } }
Das Ausgabeergebnis ist:
Die Ausgabe ist der erste Tag dieses Monats
Der 1. März
Die Ausgabe ist der letzte Tag dieses Monats
Der 28. Februar
Es ist ersichtlich, dass nach der Subtraktion von eins vom 1. März der automatische Monat automatisch auf Februar wechselt Mond. Dies ist der Unterschied zwischen der Roll-Methode und der Ad-Methode.
Das obige ist der detaillierte Inhalt vonBeschreibung gängiger Datumsklassen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!