Heim >Java >javaLernprogramm >Verwenden Sie die neuen Period- und Duration-Klassen in Java 11, um Datums- und Zeitintervalle zu verarbeiten

Verwenden Sie die neuen Period- und Duration-Klassen in Java 11, um Datums- und Zeitintervalle zu verarbeiten

PHPz
PHPzOriginal
2023-07-30 11:33:18908Durchsuche

Verwenden Sie die neue Period-Klasse und die Duration-Klasse in Java 11, um Datumsangaben und Zeitintervalle zu verarbeiten.

Zusammenfassung: Java 11 führt die neue Period-Klasse und die Duration-Klasse ein, wodurch die Handhabung von Datums- und Zeitintervallen einfacher und flexibler wird. In diesem Artikel werden die grundlegenden Konzepte und die Verwendung dieser beiden Klassen vorgestellt und einige Codebeispiele bereitgestellt, um den Lesern zu helfen, diese Klassen besser zu verstehen und zu verwenden.

1. Periodenklasse

Die Periodenklasse wird verwendet, um das Intervall zwischen Datumsangaben darzustellen. Es enthält drei Felder: Jahr, Monat und Tag. Sie können ein Periodenobjekt mit dem folgenden Codebeispiel erstellen:

import java.time.LocalDate;
import java.time.Period;

public class PeriodExample {
    public static void main(String[] args) {
        LocalDate start = LocalDate.of(2021, 1, 1);
        LocalDate end = LocalDate.of(2022, 1, 1);
        Period period = Period.between(start, end);
        System.out.println("Years: " + period.getYears());
        System.out.println("Months: " + period.getMonths());
        System.out.println("Days: " + period.getDays());
    }
}

Das Ausgabeergebnis ist:

Years: 1
Months: 0
Days: 0

Im obigen Beispiel haben wir LocalDate verwendet Klasse zur Darstellung von Datumsangaben und Verwendung der Methode Period.between() zur Berechnung des Intervalls zwischen zwei Datumsangaben. Die Jahre, Monate und Tage des Intervalls können über die Methoden getYears(), getMonths() und getDays() ermittelt werden. LocalDate类来表示日期,并使用Period.between()方法来计算两个日期之间的间隔。可以通过getYears()getMonths()getDays()方法来获取间隔的年、月和日数。

二、Duration类

Duration类用于表示时间之间的间隔。它以秒和纳秒为单位,可以通过下面的代码示例来创建一个Duration对象:

import java.time.LocalTime;
import java.time.Duration;

public class DurationExample {
    public static void main(String[] args) {
        LocalTime start = LocalTime.of(10, 0, 0);
        LocalTime end = LocalTime.of(12, 0, 0);
        Duration duration = Duration.between(start, end);
        System.out.println("Hours: " + duration.toHours());
        System.out.println("Minutes: " + duration.toMinutes());
        System.out.println("Seconds: " + duration.getSeconds());
    }
}

输出结果为:

Hours: 2
Minutes: 120
Seconds: 7200

上面的例子中,我们使用了LocalTime类来表示时间,并使用Duration.between()方法来计算两个时间之间的间隔。可以通过toHours()toMinutes()getSeconds()方法来获取间隔的小时、分钟和秒数。

三、Period和Duration的操作

除了计算日期和时间间隔,Period和Duration类还提供了一些操作方法用于对间隔进行加减运算,如下所示:

import java.time.LocalDate;
import java.time.Period;

public class PeriodOperationExample {
    public static void main(String[] args) {
        LocalDate date = LocalDate.of(2021, 1, 1);
        Period period = Period.of(1, 2, 3);
        LocalDate result = date.plus(period);
        System.out.println("Result: " + result);
    }
}

输出结果为:

Result: 2022-03-04

上面的例子中,我们使用了plus()方法将指定的间隔加到日期上。可以使用plusYears()plusMonths()plusDays()

2. Dauerklasse

Die Dauerklasse wird verwendet, um das Intervall zwischen den Zeiten darzustellen. Die Angabe erfolgt in Sekunden und Nanosekunden. Sie können ein Duration-Objekt mit dem folgenden Codebeispiel erstellen:

rrreee

Das Ausgabeergebnis lautet:

rrreee

Im obigen Beispiel haben wir die Klasse LocalTime verwendet, um die Zeit darzustellen und verwenden Sie die Methode Duration.between(), um das Intervall zwischen zwei Zeitpunkten zu berechnen. Die Stunden, Minuten und Sekunden des Intervalls können über die Methoden toHours(), toMinutes() und getSeconds() abgerufen werden.

3. Operationen von Periode und Dauer
  • Zusätzlich zur Berechnung von Datums- und Zeitintervallen bieten die Perioden- und Dauerklassen auch einige Operationsmethoden zum Addieren und Subtrahieren von Intervallen, wie unten gezeigt:
  • rrreee
  • Das Ausgabeergebnis ist:
  • rrreee
Im obigen Beispiel haben wir die Methode plus() verwendet, um das angegebene Intervall zum Datum hinzuzufügen. Sie können die Methoden plusYears(), plusMonths() und plusDays() verwenden, um die angegebene Anzahl von Jahren, Monaten und Tagen hinzuzufügen bzw. auf ein Datum.

Für die Duration-Klasse können Sie auch ähnliche Operationsmethoden verwenden, um Zeitintervalle zu addieren und zu subtrahieren. 🎜🎜Fazit: 🎜🎜Durch die Verwendung der Period-Klasse und der Duration-Klasse in Java 11 können wir Datums- und Zeitintervalle bequemer verarbeiten. Diese Klassen bieten umfassende Methoden zum Berechnen, Betreiben und Formatieren von Intervallen, sodass wir flexibler auf verschiedene Datums- und Zeitanforderungen reagieren können. Daher können wir während der Entwicklung geeignete Klassen auswählen, um Datums- und Zeitintervalle basierend auf bestimmten Szenarien zu verarbeiten und so die Lesbarkeit und Wartbarkeit des Codes zu verbessern. 🎜🎜Referenz: 🎜🎜🎜Offizielle Oracle-Dokumentation: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/Period.html🎜🎜Offizielle Oracle-Dokumentation: https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/time/Duration.html🎜🎜🎜Ich hoffe, dieser Artikel kann den Lesern helfen, die Period-Klasse besser zu verstehen und anzuwenden und Dauerklasse. Wenn Sie Fragen oder Anregungen zu diesen beiden Kategorien haben, können Sie gerne eine Nachricht hinterlassen. Danke! 🎜

Das obige ist der detaillierte Inhalt vonVerwenden Sie die neuen Period- und Duration-Klassen in Java 11, um Datums- und Zeitintervalle zu verarbeiten. 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