Константа time.DateOnly

Константа time.DateOnly представляет собой строку формата "2006-01-02", которая используется для форматирования и парсинга дат без временной составляющей. Эта константа полезна, когда вам нужно работать только с датами, игнорируя время и часовой пояс.

Синтаксис

goconst DateOnly = "2006-01-02"

Пример использования для форматирования

Давайте отформатируем текущую дату в формате "2006-01-02" с помощью константы time.DateOnly:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  now := time.Now()
  res := now.Format(time.DateOnly)
  fmt.Println(res)
}

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

go"2026-09-04"

Пример парсинга строки в дату

Давайте распарсим строку "2025-12-25" в объект time.Time с помощью константы time.DateOnly:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  str := "2025-12-25"
  t, err := time.Parse(time.DateOnly, str)
  if err != nil {
    fmt.Println("Error:", err)
    return
  }
  fmt.Println(t.Year(), t.Month(), t.Day())
}

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

go"2025 December 25"

Пример сравнения дат

Давайте сравним две даты в формате time.DateOnly:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  date1 := "2025-12-25"
  date2 := "2025-12-31"
  t1, _ := time.Parse(time.DateOnly, date1)
  t2, _ := time.Parse(time.DateOnly, date2)
  res := t1.Before(t2)
  fmt.Println(res)
}

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

gotrue

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

  • константу time.DateTime,
    которая представляет формат "2006-01-02 15:04:05"
  • константу time.TimeOnly,
    которая представляет формат "15:04:05"
  • константу time.RFC3339,
    которая представляет формат RFC3339
  • функцию time.Parse,
    которая парсит строку в объект времени