Функция withDayOfYear
Функция withDayOfYear класса LocalDate возвращает копию текущей даты с измененным днем года.
В параметр мы передаем номер дня в году, который должен быть в диапазоне от 1 до 365 или 366 для високосного года.
Импорт
import java.time.LocalDate
Синтаксис
fun withDayOfYear(dayOfYear: Int): LocalDate
Пример
Установим 100-й день года для даты "2025-03-15":
val originalDate = LocalDate.parse("2025-03-15")
val newDate = originalDate.withDayOfYear(100)
println(newDate)
Результат выполнения кода:
String "2025-04-10"
Пример
Установим 366-й день года для високосного 2024 года:
val leapYearDate = LocalDate.of(2024, 1, 1)
val lastDay = leapYearDate.withDayOfYear(366)
println(lastDay)
Результат выполнения кода:
String "2024-12-31"
Пример
Проверим обработку недопустимых значений дня года:
val date = LocalDate.parse("2025-06-15")
try {
val invalidDate = date.withDayOfYear(400)
println(invalidDate)
} catch (e: Exception) {
println("Error: " + e.message)
}
Результат выполнения кода:
String "Error: Invalid value for DayOfYear (valid values 1 - 365): 400"
Пример
Использование withDayOfYear вместе с другими функциями:
val date = LocalDate.now()
val firstDayOfYear = date.withDayOfYear(1)
val midYear = date.withDayOfYear(183)
println("First day: $firstDayOfYear")
println("Mid year: $midYear")
println("Current: $date")
Результат выполнения кода:
String "First day: 2025-01-01"
String "Mid year: 2025-07-02"
String "Current: 2025-09-10"
Смотрите также
-
функцию
getDayOfYearклассаLocalDate,
которая возвращает день года для указанной даты -
функцию
withYearклассаLocalDate,
которая устанавливает год для даты -
функцию
withMonthклассаLocalDate,
которая устанавливает месяц для даты -
функцию
withDayOfMonthклассаLocalDate,
которая устанавливает день месяца для даты