Heim  >  Artikel  >  Java  >  Wie gehe ich mit Datum und Uhrzeit mithilfe der Datetime-API in Java um?

Wie gehe ich mit Datum und Uhrzeit mithilfe der Datetime-API in Java um?

PHPz
PHPzOriginal
2023-08-02 22:10:48813Durchsuche

Wie gehe ich mit Datum und Uhrzeit mithilfe der Datetime-API in Java um?

Zitat:
In der Softwareentwicklung ist der Umgang mit Datum und Uhrzeit ein sehr häufiges Bedürfnis. Java bietet eine leistungsstarke und benutzerfreundliche Datums- und Uhrzeit-API, mit der wir Datums- und Uhrzeitdaten einfach bearbeiten können. In diesem Artikel behandeln wir die Verwendung der DateTime-API in Java sowie einige gängige Szenarien und Beispielcode.

1. Datums- und Uhrzeitklassen in Java

Java bietet mehrere Datums- und Uhrzeitklassen, die am häufigsten verwendeten sind java.util.Date und java.util.Calendar. Allerdings haben diese Klassen einige Probleme im Umgang mit Datums- und Uhrzeitangaben. Daher hat Java ab Java 8 eine neue Datum-Uhrzeit-API eingeführt, die sich im Paket java.time befindet, um die alte API zu ersetzen.

Im Folgenden sind einige häufig verwendete Datums- und Uhrzeitklassen aufgeführt:

  1. LocalDate: stellt ein Datum dar, das nur den Datumsteil und keine Zeit- und Zeitzoneninformationen enthält.
  2. LocalTime: Stellt eine Uhrzeit dar, die nur den Zeitteil und keine Datums- und Zeitzoneninformationen enthält.
  3. LocalDateTime: stellt Datum und Uhrzeit dar, enthält keine Zeitzoneninformationen.
  4. ZonedDateTime: Stellt Datum und Uhrzeit mit Zeitzoneninformationen dar.
  5. Dauer: gibt den Zeitraum an. Es kann einen Zeitraum in Tagen, Stunden, Minuten, Sekunden oder sogar Millisekunden darstellen.
  6. Periode: stellt das Datumsintervall dar. Wird in Jahren, Monaten und Tagen ausgedrückt.

Die oben genannten Klassen bieten viele Methoden zum Bearbeiten von Datums- und Zeitdaten, die sehr flexibel und einfach zu verwenden sind.

2. Erstellung und Erfassung von Datum und Uhrzeit

  1. Datum und Uhrzeit erstellen:

Das Erstellen von Datums- und Uhrzeitobjekten mithilfe von Klassen im Paket java.time ist sehr einfach. Rufen Sie einfach die entsprechende statische Methode auf. Um beispielsweise ein LocalDate-Objekt zu erstellen, das das aktuelle Datum darstellt, können Sie die Methode LocalDate.now() verwenden:

LocalDate currentDate = LocalDate.now();

  1. Erhalten Sie die verschiedenen Teile des Datums und der Uhrzeit:

Wir können die Methoden der Datetime-Klasse verwenden, um verschiedene Teile eines Datums und einer Uhrzeit abzurufen. Hier sind einige gängige Beispiele:

// Holen Sie sich das Jahr
int Jahr = currentDate.getYear();

// Holen Sie sich den Monat
Month Month = currentDate.getMonth();
int MonthValue = currentDate.getMonthValue();

// Datum abrufen
int dayOfMonth = currentDate.getDayOfMonth();

// Wochentag abrufen
DayOfWeek dayOfWeek = currentDate.getDayOfWeek();

// Tag des Jahres abrufen
int dayOfYear = currentDate.getDayOfYear ();

// Holen Sie sich die aktuelle Zeit
LocalTime currentTime = LocalTime.now();

// Holen Sie sich die Stunde
int Stunde = currentTime.getHour();

// Holen Sie sich die Minute
int minute = currentTime.getMinute( );

//Sekunde abrufen
int second = currentTime.getSecond();

...

Das Obige ist ein Beispiel dafür, wie man ein Datetime-Objekt erstellt und seine verschiedenen Teile erhält .

3. Datums- und Uhrzeitformatierung und -analyse

In der tatsächlichen Entwicklung müssen wir normalerweise Datums- und Uhrzeitobjekte in lesbare Zeichenfolgen oder Zeichenfolgen in Datums- und Uhrzeitobjekte konvertieren. Java bietet Methoden zum Formatieren und Parsen von Datum und Uhrzeit.

  1. Formatierung von Datum und Uhrzeit:

Wir können die DateTimeFormatter-Klasse verwenden, um das Datum-Uhrzeit-Objekt in eine bestimmte Zeichenfolge zu formatieren. Hier ist ein Beispiel:

LocalDateTime currentDateTime = LocalDateTime.now();

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formattedDateTime = currentDateTime.format(formatter);

System.out.println("Aktuelles Datum und Uhrzeit: " + formattedDateTime);

Durch Ausführen des obigen Codes werden das aktuelle Datum und die aktuelle Uhrzeit im Format „JJJJ-MM-TT HH:mm:ss“ ausgegeben.

  1. Datum-Uhrzeit-Analyse:

Wir können die DateTimeFormatter-Klasse verwenden, um eine Zeichenfolge in ein Datum-Uhrzeit-Objekt zu analysieren. Hier ist ein Beispiel:

String dateTimeString = "2022-01-01 12:00:00";

DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime parsedDateTime = LocalDateTime.parse(dateTimeString, formatter);

System.out.println("Geparstes Datum und Uhrzeit: " + parsedDateTime);

Führen Sie den obigen Code aus und das geparste Datums- und Uhrzeitobjekt wird ausgegeben.

4. Berechnung und Betrieb von Datum und Uhrzeit

Die Java Date and Time API bietet viele Methoden zum Berechnen und Betrieb von Datum und Uhrzeit. Hier sind einige gängige Beispiele:

  1. Erhöhen oder verringern Sie eine Datumszeit:

LocalDateTime futureDateTime = currentDateTime.plusDays(1); // Fügen Sie einen Tag hinzu
LocalDateTime pastDateTime = currentDateTime.minusWeeks(1); // Verringern Sie eine Woche

  1. Datum und Uhrzeit vergleichen:

int result = currentDate1.compareTo(currentDate2); // Der Rückgabewert ist 0 für Gleichheit, kleiner als 0 für vorher und größer als 0 für danach

boolean isBefore = currentDate1. isBefore(currentDate2); // Bestimmen, ob ein Datum vor einem anderen Datum liegt
boolean isAfter = currentDate1.isAfter(currentDate2); // Bestimmen, ob ein Datum nach einem anderen Datum liegt:

  1. boolean isLeapYear = Year.of(2020).isLeap(); // Bestimmen Sie, ob das angegebene Jahr ein Schaltjahr ist
    1. Berechnen Sie die Anzahl der Tage zwischen zwei Daten:

    long daysBetween = ChronoUnit.DAYS.between(startDate, endDate); // Berechnen Sie die Anzahl der Tage zwischen zwei Daten

    Das obige Beispiel zeigt, wie Datum und Uhrzeit berechnet werden Berechnungen und Operationen.

    Fazit:

    In diesem Artikel wird erläutert, wie Datums- und Uhrzeitangaben mithilfe der DateTime-API in Java verarbeitet werden. Durch die Verwendung der neuen DateTime-API können wir Datumsangaben einfacher erstellen, abrufen, formatieren, analysieren, berechnen und bearbeiten. Diese APIs bieten eine Fülle von Methoden, um unsere unterschiedlichen Anforderungen in der tatsächlichen Entwicklung zu erfüllen.

    Codebeispiel:

    import java.time.LocalDate;
    import java.time.LocalDateTime;
    import java.time.LocalTime;
    import java.time.Month;
    import java.time.DayOfWeek;

    public class DateTimeExample {

    public static void main(String[] args) {
        // 创建日期对象
        LocalDate currentDate = LocalDate.now();
        
        // 创建时间对象
        LocalTime currentTime = LocalTime.now();
        
        // 创建日期时间对象
        LocalDateTime currentDateTime = LocalDateTime.now();
        
        // 获取日期时间的各个部分
        int year = currentDate.getYear();
        Month month = currentDate.getMonth();
        int monthValue = currentDate.getMonthValue();
        int dayOfMonth = currentDate.getDayOfMonth();
        DayOfWeek dayOfWeek = currentDate.getDayOfWeek();
        int dayOfYear = currentDate.getDayOfYear();
        int hour = currentTime.getHour();
        int minute = currentTime.getMinute();
        int second = currentTime.getSecond();
        
        // 格式化日期时间
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
        String formattedDateTime = currentDateTime.format(formatter);
        
        // 解析日期时间
        String dateTimeString = "2022-01-01 12:00:00";
        LocalDateTime parsedDateTime = LocalDateTime.parse(dateTimeString, formatter);
        
        // 增加或减少日期时间
        LocalDateTime futureDateTime = currentDateTime.plusDays(1);
        LocalDateTime pastDateTime = currentDateTime.minusWeeks(1);
        
        // 比较日期时间
        int result = currentDate1.compareTo(currentDate2);
        boolean isBefore = currentDate1.isBefore(currentDate2);
        boolean isAfter = currentDate1.isAfter(currentDate2);
        
        // 判断闰年
        boolean isLeapYear = Year.of(2020).isLeap();
        
        // 计算两个日期之间的天数
        long daysBetween = ChronoUnit.DAYS.between(startDate, endDate);
        
        // 输出日期时间
        System.out.println("当前日期:" + currentDate);
        System.out.println("当前时间:" + currentTime);
        System.out.println("当前日期时间:" + currentDateTime);
        System.out.println("当前日期时间(格式化后):" + formattedDateTime);
        System.out.println("解析后的日期时间:" + parsedDateTime);
        System.out.println("增加后的日期时间:" + futureDateTime);
        System.out.println("减少后的日期时间:" + pastDateTime);
        System.out.println("日期比较结果:" + result);
        System.out.println("日期是否在另一个日期之前:" + isBefore);
        System.out.println("日期是否在另一个日期之后:" + isAfter);
        System.out.println("闰年判断结果:" + isLeapYear);
        System.out.println("两个日期之间的天数:" + daysBetween);
    }

    }

Das obige ist der detaillierte Inhalt vonWie gehe ich mit Datum und Uhrzeit mithilfe der Datetime-API in Java um?. 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