Константа time.DateOnly
Константа time.DateOnly представляет собой строку формата
"2006-01-02", которая используется для форматирования
и парсинга дат без временной составляющей. Эта константа
полезна, когда вам нужно работать только с датами,
игнорируя время и часовой пояс.
Синтаксис
const DateOnly = "2006-01-02"
Пример использования для форматирования
Давайте отформатируем текущую дату в формате "2006-01-02"
с помощью константы time.DateOnly:
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
res := now.Format(time.DateOnly)
fmt.Println(res)
}
Результат выполнения кода:
"2026-09-04"
Пример парсинга строки в дату
Давайте распарсим строку "2025-12-25" в объект
time.Time с помощью константы time.DateOnly:
package 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())
}
Результат выполнения кода:
"2025 December 25"
Пример сравнения дат
Давайте сравним две даты в формате time.DateOnly:
package 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)
}
Результат выполнения кода:
true
Смотрите также
-
константу
time.DateTime,
которая представляет формат "2006-01-02 15:04:05" -
константу
time.TimeOnly,
которая представляет формат "15:04:05" -
константу
time.RFC3339,
которая представляет формат RFC3339 -
функцию
time.Parse,
которая парсит строку в объект времени