Titel: Verwenden Sie die neue Duration-Klasse und die Instant-Klasse in Java 11, um Zeitintervalle und Zeitstempel zu verarbeiten.
Einführung:
In der Softwareentwicklung ist es häufig erforderlich, zeitbezogene Daten zu verarbeiten, z. B. die Berechnung des Zeitintervalls zwischen zwei Zeitpunkten , oder den aktuellen Zeitstempel usw. abrufen. Java 11 führt die neue Duration-Klasse und die Instant-Klasse ein, wodurch die Zeitverarbeitung komfortabler und flexibler wird. In diesem Artikel wird die Verwendung der Duration-Klasse und der Instant-Klasse in Java 11 vorgestellt und ihre grundlegenden Operationen anhand von Codebeispielen demonstriert.
1. Duration-Klasse
Die Duration-Klasse ist eine Klasse, die speziell zur Darstellung von Zeitintervallen in Java 11 verwendet wird. Sie stellt die Länge eines Zeitraums dar und kann auf die Nanosekundenebene genau sein. Wir können die Duration-Klasse verwenden, um Operationen wie Addition, Subtraktion, Vergleich und Zeitformatierung durchzuführen. Im Folgenden finden Sie einige häufige Verwendungszwecke der Duration-Klasse.
Duration-Objekt erstellen:
Duration duration = Duration.ofDays(5); // 创建表示5天的Duration对象 Duration duration = Duration.ofHours(2); // 创建表示2小时的Duration对象 Duration duration = Duration.ofMinutes(30); // 创建表示30分钟的Duration对象 Duration duration = Duration.ofSeconds(10); // 创建表示10秒的Duration对象 Duration duration = Duration.ofMillis(500); // 创建表示500毫秒的Duration对象 Duration duration = Duration.ofNanos(1000); // 创建表示1000纳秒的Duration对象
Additions- und Subtraktionsoperationen des Duration-Objekts:
Duration duration = Duration.ofHours(2); // 创建表示2小时的Duration对象 Duration addedDuration = duration.plusMinutes(30); // 将30分钟加到2小时上 Duration subtractedDuration = duration.minusSeconds(10); // 将10秒减去2小时
Vergleichsoperation des Duration-Objekts:
Duration duration1 = Duration.ofDays(1); // 创建表示1天的Duration对象 Duration duration2 = Duration.ofHours(24); // 创建表示24小时的Duration对象 boolean isEqual = duration1.equals(duration2); // 比较两个Duration对象是否相等 boolean isGreater = duration1.compareTo(duration2) > 0; // 判断duration1是否大于duration2
Formatierte Ausgabe des Duration-Objekts:
Duration duration = Duration.ofMinutes(70); // 创建表示70分钟的Duration对象 String formattedDuration = duration.toString(); // 输出格式为"PT1H10M"
2. Instant-Klasse
Die Instant-Klasse ist eine Klasse, die in Java 11 zur Darstellung von Zeitstempeln verwendet wird. Sie kann Zeitstempel mit einer Genauigkeit im Nanosekundenbereich darstellen. Wir können die Instant-Klasse verwenden, um den aktuellen Zeitstempel abzurufen, Zeitadditions- und -subtraktionsoperationen durchzuführen und einen bestimmten Zeitpunkt darzustellen. Nachfolgend finden Sie einige häufige Verwendungszwecke der Instant-Klasse.
Holen Sie sich den aktuellen Zeitstempel:
Instant now = Instant.now(); // 获取当前时间戳
Additions- und Subtraktionsoperationen von Instant-Objekten:
Instant now = Instant.now(); // 获取当前时间戳 Instant addedInstant = now.plus(Duration.ofDays(5)); // 将5天加到当前时间戳上 Instant subtractedInstant = now.minus(Duration.ofHours(2)); // 将2小时减去当前时间戳
Instant instant1 = Instant.now(); // 获取当前时间戳 Instant instant2 = instant1.plus(Duration.ofMinutes(10)); // 在当前时间戳上加上10分钟 boolean isEqual = instant1.equals(instant2); // 比较两个Instant对象是否相等 boolean isBefore = instant1.isBefore(instant2); // 判断instant1是否在instant2之前
Instant now = Instant.now(); // 获取当前时间戳 String formattedTimestamp = now.toString(); // 输出格式为"2022-01-01T12:34:56.789Z"
Fazit:
Das obige ist der detaillierte Inhalt vonVerwenden Sie die neue Duration-Klasse und die Instant-Klasse in Java 11, um Zeitintervalle und Zeitstempel zu verarbeiten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!