Метод time.Time.YearDay

Метод Time.YearDay возвращает номер дня в году для указанной временной метки. Результат представляет собой целое число от 1 до 365 для обычного года или до 366 для високосного года. Метод не принимает никаких параметров и вызывается непосредственно на экземпляре Time.

Синтаксис

got.YearDay()

Пример

Давайте получим день года для даты 1 января 2026 года:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  t := time.Date(2026, time.January, 1, 0, 0, 0, 0, time.UTC)
  res := t.YearDay()
  fmt.Println(res)
}

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

go1

Пример

Теперь получим день года для даты 31 декабря 2025 года:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  t := time.Date(2025, time.December, 31, 0, 0, 0, 0, time.UTC)
  res := t.YearDay()
  fmt.Println(res)
}

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

go365

Пример

Проверим день года для високосного года, например, для 1 марта 2024 года:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  t := time.Date(2024, time.March, 1, 0, 0, 0, 0, time.UTC)
  res := t.YearDay()
  fmt.Println(res)
}

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

go61

Пример

Используем текущую дату для получения дня года:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  t := time.Now()
  res := t.YearDay()
  fmt.Printf("Today is day %d of the year %d\n", res, t.Year())
}

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

go"Today is day 247 of the year 2026"

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

  • метод Time.Year,
    который возвращает год временной метки
  • метод Time.Month,
    который возвращает месяц временной метки
  • метод Time.Day,
    который возвращает день месяца
  • метод Time.ISOWeek,
    который возвращает номер недели по стандарту ISO 8601