LocalDateTime Verwendung
Teil des Abschnitts Logik & Ablauf der Java-Journey von Coddy. Lektion 56 von 59.
LocalDateTime in Java kombiniert Datum und Uhrzeit. Es ist nützlich, wenn du mit beiden Komponenten arbeiten musst, etwa bei Veranstaltungsplänen oder Zeitstempeln.
Aktuelles Datum und aktuelle Uhrzeit erstellen
LocalDateTime now = LocalDateTime.now();Erstelle ein bestimmtes Datum und eine bestimmte Uhrzeit:
LocalDateTime dateTime = LocalDateTime.of(2024, 3, 15, 14, 30);
// 2024-03-15 14:30Nach der Ausführung des obigen Codes enthält dateTime:
2024-03-15T14:30
Ein Datum und eine Uhrzeit formatieren:
LocalDateTime dateTime = LocalDateTime.of(2024, 3, 15, 14, 30);
String formatted = dateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm"));Ein Datum und eine Uhrzeit aus einem String mit demselben Muster parsen:
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
LocalDateTime parsed = LocalDateTime.parse("2024-03-15 14:30", formatter); // 2024-03-15T14:30Ohne einen Formatierer akzeptiert LocalDateTime.parse() nur das ISO-Format 2024-03-15T14:30. Eine Zeichenfolge, die nicht zum Muster passt, löst eine DateTimeParseException aus. Umschließe den Aufruf daher mit try-catch, wie du es bei LocalDate.parse() getan hast.
Aufgabe
EinfachErstelle eine Methode namens processDateTime, die vier Argumente entgegennimmt:
- Einen String (
dateTimeStr) im Format "yyyy-MM-dd HH:mm" - Eine Ganzzahl (
amount), die addiert oder subtrahiert werden soll - Einen String (
unit), entweder "hours", "days" oder "months" - Einen String (
operation), entweder "add" oder "subtract"
Die Methode sollte:
- Den Eingabe-Datumszeit-String parsen
- Die angegebene Operation ausführen
- Formatierte Informationen über das Ergebnis zurückgeben
Die zurückzugebenden Meldungen sollten lauten:
- Bei ungültigem Format: "Invalid date time format" zurückgeben
- Bei ungültiger Einheit: "Invalid unit" zurückgeben
- Bei ungültiger Operation: "Invalid operation" zurückgeben
- Bei Erfolg: "Original: [datetime], New: [new_datetime], Day: [day_name]" zurückgeben, wobei beide Datumszeiten im Format
yyyy-MM-dd HH:mmangegeben werden und [day_name] der Wochentag des neuen Datums in Großbuchstaben ist (z. B.FRIDAY)
Probier es selbst
import java.util.Scanner;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
public class Main {
public static String processDateTime(String dateTimeStr, int amount, String unit, String operation) {
// Schreibe deinen Code hier
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String dateTimeStr = scanner.nextLine();
int amount = Integer.parseInt(scanner.nextLine());
String unit = scanner.nextLine();
String operation = scanner.nextLine();
System.out.println(processDateTime(dateTimeStr, amount, unit, operation));
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen der 2D-ArraysZugriff auf 2D-Array-ElementeVerschachtelte Schleifen mit 2D-ArraysZusammenfassung - 2D-ArraysMatrixaddition & SubtraktionJagged Arrays3D-Arrays und darüber hinausGängige 2D-Array-MusterZusammenfassung - Alles über Arrays4HashSet Teil 1
Was ist ein HashSet?Ein Element hinzufügenEin Element entfernenPrüfen, ob ein Element vorhanden istLeer und GrößeLeeren und KlonenZusammenfassung - HashSet10Datum und Zeit
LocalDate GrundlagenLocalTime OperationenLocalDateTime VerwendungPeriod und DurationDatumsformatierungZeitzonenbehandlung2HashMap Teil 1
Was ist eine HashMap?Eine HashMap deklarierenWerte abrufenPrüfen, ob ein Schlüssel existiertWörterbücher modifizierenZusammenfassung - HashMap3HashMap Teil 2
HashMap-MethodenMit keySet() iterierenMit entrySet() iterierenVerschachtelte HashMapZusammenfassung - Lager verwaltenZusammenfassung - HashMap-Operationen6Erweiterter Steuerungsfluss
Beschriftete AnweisungenSwitch-AusdruckMusterabgleichSchutzklauselnZusammenfassung - Steuerungsfluss9Projekt - Einzigartiger Wortzähler
Texteingabe und SpeicherungWortverarbeitungÜbe selbstständig: Online-Java-Compiler