Введение в дату и время в Java

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

Alex Liu

Software Development Engineer

Создание объектов даты

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

Создание объектов даты (продолжение)

  • Получение текущей даты и времени с помощью .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 (продолжение)

  • Создайте экземпляр LocalDatedate
LocalDate date = LocalDate.now(); // Current format we have will be: `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();
// Current value:
System.out.println(date); 
// Apply `.plusDays()` with value `7`
LocalDate futureDate = date.plusDays(7);
// Value after adjustment
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...