Вступ до дат і часу в Java

Ввід/вивід і потоки в Java

Alex Liu

Software Development Engineer

Створення об'єктів Date

  • Клас LocalDate
    • Подання дати без часу
  • Клас LocalTime
    • Подання часу без дати
  • Імпортуйте потрібні класи
import java.time.LocalDate;
import java.time.LocalTime;
Ввід/вивід і потоки в Java

Створення об'єктів Date (продовження)

  • Отримайте поточні дату й час за допомогою .now()
    LocalDate date = LocalDate.now();
    LocalTime time = LocalTime.now();
    System.out.println(date);
    System.out.println(time);
    
  • (Примітка: час залежить від моменту виконання програми)
2025-03-10
12:45:30.123456
Ввід/вивід і потоки в Java

Форматування дат у Java

  • DateTimeFormatter
    • Визначає власні формати дат
    • Підтримує шаблони на кшталт yyyy-MM-dd, MM/dd/yyyy
  • Імпортуйте потрібні класи
    import java.time.LocalDate;
    import java.time.format.DateTimeFormatter;
    
Ввід/вивід і потоки в Java

Форматування дат у Java (продовження)

  • Створіть екземпляр LocalDate date
LocalDate date = LocalDate.now(); // Поточний формат: `2025-03-10`
  • Створіть DateTimeFormatter із шаблоном MM/dd/yyyy за допомогою .ofPattern()
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd/yyyy");
  • Застосуйте DateTimeFormatter методом .format()
System.out.println(date.format(formatter))
03/10/2025
Ввід/вивід і потоки в Java

Розбір рядка в дату

  • Використовуйте LocalDate.parse() для перетворення тексту на дату

    • Формат має збігатися з вхідним рядком
  • Застосуйте .parse() до тексту у форматі yyyy-MM-dd, щоб розібрати в об'єкт Date

    LocalDate parsedDate = LocalDate.parse("2024-03-10");
    System.out.println(parsedDate);
    
  • Друк об'єкта Date виведе:

    2024-03-10
    
Ввід/вивід і потоки в Java

Коригування дат

  • Використовуйте .plusDays() та .minusDays() для зміни дат
LocalDate date = LocalDate.now();
// Поточне значення:
System.out.println(date); 
// Застосуйте `.plusDays()` зі значенням `7`
LocalDate futureDate = date.plusDays(7);
// Значення після зміни
System.out.println(futureDate);
2025-03-10
2025-03-17
Ввід/вивід і потоки в Java

Коригування дат (продовження)

  • Застосуйте .minusDays() зі значенням 7
    LocalDate pastDate = date.minusDays(7);
    System.out.println(pastDate);
    
  • Поточне значення pastDate:
    2025-03-03
    
Ввід/вивід і потоки в Java

Підсумок

  • LocalDate і LocalTime керують датами й часом окремо
    • Примітка: час залежить від моменту виконання програми
    • .parse() перетворює текст на дату
    • .now() повертає поточні дату/час
  • DateTimeFormatter форматує й розбирає дати
    • визначає власні формати дат
    • Підтримує шаблони на кшталт yyyy-MM-dd, MM/dd/yyyy
  • Обчислюйте дати за допомогою .plusDays() і .minusDays()
Ввід/вивід і потоки в Java

Давайте потренуємось!

Ввід/вивід і потоки в Java

Preparing Video For Download...