Узнайте, как получить год, месяц и день из заданной даты в Java, используя новый класс LocalDate, а также устаревший класс java.util.Date.
1. Получите день, месяц и год с Java 8
Новый API Date Time, добавленный в Java 8, имеет несколько классов, способных хранить дату(день, месяц и год). Вот некоторые из них:
- Локальная дата
- ЛокальнаяДатаВремя
- ЗонированныйДатаВремя
- СмещениеДатыВремени
Приведенные выше классы предоставляют методы для запроса информации о дне, месяце и годе из заданного экземпляра.
- getYear() – возвращает год как целое значение.
- getMonthValue() – возвращает месяц в виде числа от 1 до 12.
- getDayOfMonth() – возвращает значение int для дня месяца.
Программа Java для извлечения дня, месяца и года из даты в Java 8.
LocalDate today = LocalDate.now(); //23-Feb-022int day = today.getDayOfMonth(); //23int month = today.getMonthValue(); //2int year = today.getYear(); //2022
Мы можем вызывать эти же методы с LocalDateTime и другими классами. За исключением LocalDate, другие классы предоставляют методы для извлечения часов, минут и секунд.
2. Получить день, месяц и год из java.util.Date
Прямое извлечение информации о дне, месяце и годе из экземпляра java.util.Date НЕВОЗМОЖНО. Мы должны преобразовать экземпляр Date в Calendar.
Класс Calendar предоставляет следующие константы, которые мы можем использовать для запроса частей даты.
- Calendar.DAY_OF_MONTH – поле, указывающее день месяца.
- Calendar.MONTH – поле, указывающее месяц от 0 до 11.
- Calendar.YEAR – поле, указывающее год.
Программа на Java для извлечения дня, месяца и года из даты с помощью Calendar.
Date date = new Date(); //23-Feb-022Calendar calendar = Calendar.getInstance();calendar.setTime(date);int day = calendar.get(Calendar.DAY_OF_MONTH); //23int month = calendar.get(Calendar.MONTH); //1int year = calendar.get(Calendar.YEAR); //2022
3. Заключение
В этом руководстве по Java мы научились извлекать целочисленные значения для информации о дне, месяце и годе из новых классов API дат и старых устаревших классов Java.
Настоятельно рекомендуется использовать новый API Date, поскольку он предоставляет множество специализированных классов и методов для всех видов вариантов использования.