Wprowadzenie do daty i czasu w Javie

Wejście/wyjście i strumienie w Javie

Alex Liu

Software Development Engineer

Tworzenie obiektów daty

  • Klasa LocalDate
    • Reprezentuje daty bez czasu
  • Klasa LocalTime
    • Reprezentuje czas bez daty
  • Importowanie wymaganych klas
import java.time.LocalDate;
import java.time.LocalTime;
Wejście/wyjście i strumienie w Javie

Tworzenie obiektów daty (ciąg dalszy)

  • Pobieranie bieżącej daty i czasu za pomocą .now()
    LocalDate date = LocalDate.now();
    LocalTime time = LocalTime.now();
    System.out.println(date);
    System.out.println(time);
    
  • (Uwaga: czas zależy od momentu wykonania programu)
2025-03-10
12:45:30.123456
Wejście/wyjście i strumienie w Javie

Formatowanie dat w Javie

  • DateTimeFormatter
    • Definiuje niestandardowe formaty dat
    • Obsługuje wzorce takie jak yyyy-MM-dd, MM/dd/yyyy
  • Importowanie wymaganych klas
    import java.time.LocalDate;
    import java.time.format.DateTimeFormatter;
    
Wejście/wyjście i strumienie w Javie

Formatowanie dat w Javie (ciąg dalszy)

  • Utwórz instancję LocalDate o nazwie date
LocalDate date = LocalDate.now(); // Bieżący format: `2025-03-10`
  • Utwórz DateTimeFormatter ze wzorcem MM/dd/yyyy za pomocą .ofPattern()
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
  • Zastosuj DateTimeFormatter metodą .format()
System.out.println(date.format(formatter))
03/10/2025
Wejście/wyjście i strumienie w Javie

Parsowanie ciągu znaków na datę

  • Użycie LocalDate.parse() do konwersji tekstu na datę

    • Format musi odpowiadać ciągowi wejściowemu
  • Użyj .parse() z tekstem w formacie yyyy-MM-dd, aby uzyskać obiekt Date

    LocalDate parsedDate = LocalDate.parse("2024-03-10");
    System.out.println(parsedDate);
    
  • Wydruk obiektu Date zwróci:

    2024-03-10
    
Wejście/wyjście i strumienie w Javie

Zmiana daty

  • Użyj .plusDays() i .minusDays() do zmiany daty
LocalDate date = LocalDate.now();
// Aktualna wartość:
System.out.println(date); 
// Zastosuj `.plusDays()` z wartością `7`
LocalDate futureDate = date.plusDays(7);
// Wartość po zmianie
System.out.println(futureDate);
2025-03-10
2025-03-17
Wejście/wyjście i strumienie w Javie

Zmiana daty (ciąg dalszy)

  • Zastosuj .minusDays() z wartością 7
    LocalDate pastDate = date.minusDays(7);
    System.out.println(pastDate);
    
  • Aktualna wartość pastDate:
    2025-03-03
    
Wejście/wyjście i strumienie w Javie

Podsumowanie

  • LocalDate i LocalTime obsługują daty i czas osobno
    • Uwaga: czas zależy od momentu wykonania programu
    • .parse() konwertuje tekst na datę
    • .now() pobiera bieżącą datę/czas
  • DateTimeFormatter formatuje i parsuje daty
    • definiuje niestandardowe formaty dat
    • Obsługuje wzorce takie jak yyyy-MM-dd, MM/dd/yyyy
  • Obliczenia na datach za pomocą .plusDays() i .minusDays()`
Wejście/wyjście i strumienie w Javie

Czas na ćwiczenia!

Wejście/wyjście i strumienie w Javie

Preparing Video For Download...