АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
1065 of 1310 menu
Новый формат обучения! Репетиторство по программированию. Есть еще 3 свободных места! Жми для подробностей.

Класс ChronoField

Класс ChronoField является перечислением, которое содержит стандартные поля для работы с датой и временем в Java Time API. Каждое поле представляет собой компонент даты или времени, такой как год, месяц, день, час, минута, секунда и другие. Эти поля используются для доступа и манипуляции значениями в временных объектах, таких как LocalDate, LocalTime и LocalDateTime.

Импорт

import java.time.temporal.ChronoField

Синтаксис

// Доступ к полям через перечисление ChronoField.YEAR ChronoField.MONTH_OF_YEAR ChronoField.DAY_OF_MONTH ChronoField.HOUR_OF_DAY ChronoField.MINUTE_OF_HOUR ChronoField.SECOND_OF_MINUTE

Пример

Получим значение года из объекта LocalDate с помощью поля ChronoField.YEAR:

import java.time.LocalDate import java.time.temporal.ChronoField val date = LocalDate.of(2025, 12, 31) val year = date.get(ChronoField.YEAR) println("Year: $year")

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

String "Year: 2025"

Пример

Получим значение часа из объекта LocalTime с помощью поля ChronoField.HOUR_OF_DAY:

import java.time.LocalTime import java.time.temporal.ChronoField val time = LocalTime.of(14, 30, 45) val hour = time.get(ChronoField.HOUR_OF_DAY) println("Hour: $hour")

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

String "Hour: 14"

Пример

Изменим значение дня в месяце с помощью поля ChronoField.DAY_OF_MONTH:

import java.time.LocalDate import java.time.temporal.ChronoField val date = LocalDate.of(2025, 12, 15) val newDate = date.with(ChronoField.DAY_OF_MONTH, 25) println("New date: $newDate")

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

String "New date: 2025-12-25"

Пример

Проверим, является ли поле дато-ориентированным или время-ориентированным:

import java.time.temporal.ChronoField val isYearDateBased = ChronoField.YEAR.isDateBased() val isHourTimeBased = ChronoField.HOUR_OF_DAY.isTimeBased() println("YEAR is date based: $isYearDateBased") println("HOUR_OF_DAY is time based: $isHourTimeBased")

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

String "YEAR is date based: true" String "HOUR_OF_DAY is time based: true"

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

  • класс LocalDate,
    который представляет дату без времени
  • класс LocalTime,
    который представляет время без даты
  • класс LocalDateTime,
    который представляет дату и время
  • класс ChronoUnit,
    который предоставляет стандартные единицы измерения времени