РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
974 of 1163 menu

Класс YearMonth

Класс YearMonth из пакета java.time представляет собой комбинацию года и месяца. Он не содержит информации о дне, часе, минуте или секунде. Этот класс удобно использовать, когда нужно работать только с годом и месяцем, например, для указания срока действия банковской карты или отчётного периода. Объекты класса YearMonth являются неизменяемыми (immutable).

Для создания объекта YearMonth можно использовать статический метод of, в первый параметр которого передаётся год, а во второй - месяц. Также доступны методы now (текущий год и месяц), parse (разбор строки) и from (извлечение из другой временной сущности).

Синтаксис

YearMonth.of(year, month) YearMonth.now() YearMonth.parse(text)

Пример

Давайте создадим объект YearMonth с годом 2026 и месяцем 9 (сентябрь):

import java.time.YearMonth; public class Main { public static void main(String[] args) { YearMonth ym = YearMonth.of(2026, 9); System.out.println(ym); } }

Результат выполнения кода:

"2026-09"

Пример

Давайте получим текущий год и месяц с помощью метода now и выведем отдельно год и месяц:

import java.time.YearMonth; public class Main { public static void main(String[] args) { YearMonth ym = YearMonth.now(); System.out.println("Year: " + ym.getYear()); System.out.println("Month: " + ym.getMonthValue()); } }

Результат выполнения кода (зависит от текущей даты):

"Year: 2026" "Month: 9"

Пример

Давайте разберём строку в формате год-месяц с помощью метода parse:

import java.time.YearMonth; public class Main { public static void main(String[] args) { YearMonth ym = YearMonth.parse("2026-09"); System.out.println(ym); } }

Результат выполнения кода:

"2026-09"

Пример

Давайте прибавим несколько месяцев к текущему значению с помощью метода plusMonths:

import java.time.YearMonth; public class Main { public static void main(String[] args) { YearMonth ym = YearMonth.of(2026, 9); YearMonth res = ym.plusMonths(4); System.out.println(res); } }

Результат выполнения кода:

"2027-01"

Пример

Давайте узнаем количество дней в месяце с помощью метода lengthOfMonth и проверим, является ли год високосным с помощью метода isLeapYear:

import java.time.YearMonth; public class Main { public static void main(String[] args) { YearMonth ym = YearMonth.of(2024, 2); System.out.println("Days: " + ym.lengthOfMonth()); System.out.println("Leap: " + ym.isLeapYear()); } }

Результат выполнения кода:

"Days: 29" "Leap: true"

Смотрите также

  • класс Year,
    который представляет год
  • класс Month,
    который представляет месяц
  • класс LocalDateTime,
    который представляет дату и время
  • класс DateTimeFormatter,
    который форматирует дату и время
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить