Heim  >  Artikel  >  Java  >  Beschreibung gängiger Datumsklassen in Java

Beschreibung gängiger Datumsklassen in Java

伊谢尔伦
伊谢尔伦Original
2017-04-29 13:01:481659Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn