Работа с датами. LocalDate

Последнее обновление: 12.11.2018

Класс LocalDate из пакета java.time предназначен для работы с датами. Функционал этого класса позволяет создавать даты и изменять их, добавляя и отнимая необходимое количество дней/месяцев/лет.

Основные методы LocalDate:

  • static LocalDate now(): возвращает объект, который представляет текущую дату

  • static LocalDate of(int year, int month, int day): возвращает объект, который представляет дату с определенными годом, месяцем и днем

  • int getYear(): возвращает год даты

  • int getMonthValue(): возвращает месяц

  • int getDayOfMonth(): возвращает день месяца (значение от 1 до 31)

  • int getDayOfYear(): возвращает номер дня года (значение от 1 до 365)

  • DayOfWeek getDayOfWeek(): возвращает день недели в виде значения перечисления DayOfWeek

  • LocalDate plusDays(int n): добавляет к дате некоторое количество дней

  • LocalDate plusWeeks(int n): добавляет к дате некоторое количество недель

  • LocalDate plusMonths(int n): добавляет к дате некоторое количество месяцев

  • LocalDate plusYears(int n): добавляет к дате некоторое количество лет

  • LocalDate minusDays(int n): отнимает от даты некоторое количество дней

  • LocalDate minusMonths(int n): отнимает от даты некоторое количество месяцев

  • LocalDate minusWeeks(int n): отнимает от даты некоторое количество недель

  • LocalDate minusYears(int n): отнимает от даты некоторое количество лет

Получение информации о текущей дате:

import java.time.DayOfWeek;
import java.time.LocalDate;

public class Program {
  
    public static void main(String[] args) {
        
        LocalDate date = LocalDate.now(); // получаем текущую дату
        int year = date.getYear();
        int month = date.getMonthValue();
        int dayOfMonth = date.getDayOfMonth();
        DayOfWeek dayOfWeek = date.getDayOfWeek();
        System.out.println(date);
        System.out.println(dayOfWeek);
        System.out.printf("%d.%d.%d \n", dayOfMonth, month, year);
    }
}

Консольный вывод:

2018-11-11
SUNDAY
11.11.2018 

Создание и получение информации по случайной дате:

LocalDate date = LocalDate.of(1914, 12, 31);
System.out.println(date);

Операции с датами - добавление и удаление:

LocalDate date = LocalDate.of(1914, 7, 28);
        
date = date.plusYears(4);
date = date.plusMonths(3);
date = date.plusDays(14);
System.out.println(date);   // 1918-11-11
        
date = date.minusMonths(10);
date = date.minusDays(3);
System.out.println(date);   // 1918-01-08
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850