Метод time.Time.Date

Метод Date возвращает три компонента даты для переменной типа time.Time: год (тип int), месяц (тип time.Month) и день (тип int). Метод не принимает никаких параметров и используется для извлечения календарных компонентов из временной метки.

Синтаксис

got.Date()

Пример

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

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  now := time.Now()
  year, month, day := now.Date()

  fmt.Printf("Год: %d, Месяц: %s, День: %d\n", year, month, day)
}

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

go"Год: 2026, Месяц: September, День: 4"

Пример

Давайте создадим конкретную дату и извлечем ее компоненты:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  t := time.Date(2025, time.December, 25, 0, 0, 0, 0, time.UTC)
  year, month, day := t.Date()

  fmt.Printf("Год: %d, Месяц: %s, День: %d\n", year, month, day)
}

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

go"Год: 2025, Месяц: December, День: 25"

Пример

Давайте сравним компоненты даты для двух разных моментов времени:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  t1 := time.Now()
  t2 := time.Date(2024, time.January, 1, 0, 0, 0, 0, time.UTC)

  y1, m1, d1 := t1.Date()
  y2, m2, d2 := t2.Date()

  fmt.Printf("Текущая дата: %d-%s-%d\n", y1, m1, d1)
  fmt.Printf("Новый год: %d-%s-%d\n", y2, m2, d2)
}

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

go"Текущая дата: 2026-September-4"
"Новый год: 2024-January-1"

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

  • метод time.Time.Clock,
    который возвращает компоненты времени (часы, минуты, секунды)
  • метод time.Time.Year,
    который возвращает только год
  • метод time.Time.Month,
    который возвращает только месяц
  • метод time.Time.Day,
    который возвращает только день месяца