Java LocalTime-Klasse

LocalTimeist eine wichtige Klasse in der in Java 8 eingeführten Datums-/Zeit-API (java.timePaket), die verwendet wird, um eine Uhrzeit ohne Zeitzoneninformationen darzustellen. Sie behandelt speziell die Tageszeit mit Genauigkeit bis zur Nanosekunde.


Eigenschaften der LocalTime-Klasse

1. Unveränderlichkeit

LocalTime ist eine unveränderliche Klasse. Alle Änderungsoperationen geben eine neue Instanz zurück, und das ursprüngliche Objekt bleibt unverändert.

2. Keine Zeitzoneninformationen

LocalTime enthält keine Zeitzoneninformationen; es repräsentiert nur die lokale Zeit.

3. Zeitgenauigkeit

Unterstützt Zeitgenauigkeit von Stunden bis Nanosekunden (HH:mm:ss.nnnnnnnnn).


Erstellen von LocalTime-Objekten

1. Abrufen der aktuellen Zeit

LocalTime currentTime = LocalTime.now();
System.out.println("当前时间: " + currentTime);

2. Erstellen mithilfe der of()-Methode

Beispiel

// 14:30:00 erstellen
LocalTime time1 = LocalTime.of(14, 30);

// 09:15:30 erstellen
LocalTime time2 = LocalTime.of(9, 15, 30);

// Erstelle 10:20:30.500 (500 Millisekunden)
LocalTime time3 = LocalTime.of(10, 20, 30, 500000000);

3. Zeichenketten parsen

LocalTime parsedTime = LocalTime.parse("08:45"); 
System.out.println("解析的时间: " + parsedTime);

Häufige Methoden

1. Zeitkomponenten abrufen

Beispiel

LocalTime time = LocalTime.of(15, 45, 20, 123456789);

<p>int hour = time.getHour();       // 15
int minute = time.getMinute();   // 45
int second = time.getSecond();   // 20
int nano = time.getNano();       // 123456789

2. Zeitvergleich

Beispiel

LocalTime time1 = LocalTime.of(10, 30);
LocalTime time2 = LocalTime.of(11, 15);

boolean isBefore = time1.isBefore(time2);  // true
boolean isAfter = time1.isAfter(time2);    // false
boolean isEqual = time1.equals(time2);     // false

3. Zeitarithmetik

Beispiel

LocalTime time = LocalTime.of(9, 0);

// 2 Stunden hinzufügen
LocalTime plusHours = time.plusHours(2); // 11:00

// 30 Minuten subtrahieren
LocalTime minusMinutes = time.minusMinutes(30); // 08:30

// 1 Stunde und 15 Minuten hinzufügen
LocalTime plusDuration = time.plus(Duration.ofMinutes(75)); // 10:15

4. Zeitanpassung

Beispiel

LocalTime time = LocalTime.of(14, 30);

// Stunde auf 10 setzen
LocalTime withHour = time.withHour(10);  // 10:30

// Minute auf 45 setzen
LocalTime withMinute = time.withMinute(45);  // 14:45

Formatierung und Parsing

1. Zeitformatierung

Beispiel

java LocalTime time = LocalTime.of(16, 45, 30);
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("HH:mm:ss");
String formattedTime = time.format(formatter); // "16:45:30"

2. Zeitstrings parsen

Beispiel

String timeString = "08:15:45 AM";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("hh:mm:ss a");
LocalTime parsedTime = LocalTime.parse(timeString, formatter);

Praktische Anwendungsbeispiele

1. Berechnen des Intervalls zwischen zwei Zeitpunkten

Beispiel

LocalTime start = LocalTime.of(9, 0);
LocalTime end = LocalTime.of(17, 30);
Duration duration = Duration.between(start, end);
System.out.println("Arbeitsstunden: " + duration.toHours() + " Stunden"); // 8 Stunden

2. Prüfen, ob es innerhalb der Geschäftszeiten liegt

Beispiel

LocalTime current = LocalTime.now();
LocalTime opening = LocalTime.of(8, 0);
LocalTime closing = LocalTime.of(22, 0);

if (current.isAfter(opening) && current.isBefore(closing)) {
    System.out.println("Der Laden ist geöffnet");
} else {
    System.out.println("Der Laden ist geschlossen");
}

3. Erstellen eines Zeitbereichs

Beispiel

LocalTime start = LocalTime.of(8, 0);
LocalTime end = start.plusHours(8); // 16:00
System.out.println("Öffnungszeiten: " + start + " bis " + end);

Zusammenfassung

LocalTimeist eine Kernklasse in der Java-8-Datums-/Zeit-API für den Umgang mit lokaler Zeit. Sie bietet umfangreiche Methoden zum Erstellen, Bearbeiten und Formatieren von Zeit. Aufgrund ihrer Unveränderlichkeit und Thread-Sicherheit,LocalTimees eignet sich sehr gut für die Verwendung in Multithread-Umgebungen. MeisternLocalTimeDie Verwendung dieser Klasse kann zeitbezogene Programmieraufgaben erheblich vereinfachen.

Andere Erweiterungen