Метод time.Time.Weekday
Метод Weekday, вызванный на объекте типа time.Time,
возвращает день недели для указанного момента времени.
Результат представлен в виде значения типа time.Weekday,
которое является целочисленным перечислением, где воскресенье
соответствует значению 0, понедельник - 1, и так далее до
субботы со значением 6. Это удобно для проверки дня недели,
а также для форматирования и сравнения дат.
Синтаксис
t.Weekday() time.Weekday
Пример с текущей датой
Давайте получим текущий день недели с помощью метода Now
и выведем его в виде строки:
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
weekday := now.Weekday()
fmt.Println(weekday)
}
Результат выполнения кода (зависит от текущей даты):
"Monday"
Пример с конкретной датой
Теперь создадим конкретную дату и определим день недели для 7 сентября 2026 года:
package main
import (
"fmt"
"time"
)
func main() {
date := time.Date(2026, time.September, 7, 0, 0, 0, 0, time.UTC)
weekday := date.Weekday()
fmt.Println(weekday)
}
Результат выполнения кода:
"Monday"
Пример сравнения дней недели
Метод Weekday возвращает значение, которое можно
сравнивать с константами пакета time. Проверим,
является ли некоторая дата субботой или воскресеньем:
package main
import (
"fmt"
"time"
)
func main() {
date := time.Date(2026, time.September, 12, 0, 0, 0, 0, time.UTC)
weekday := date.Weekday()
if weekday == time.Saturday || weekday == time.Sunday {
fmt.Println("weekend")
} else {
fmt.Println("weekday")
}
}
Результат выполнения кода:
"weekend"
Пример с числовым значением
Поскольку тип time.Weekday является целочисленным,
мы можем получить числовое представление дня недели
(от 0 для воскресенья до 6 для субботы):
package main
import (
"fmt"
"time"
)
func main() {
date := time.Date(2026, time.September, 7, 0, 0, 0, 0, time.UTC)
weekday := date.Weekday()
fmt.Println(int(weekday))
}
Результат выполнения кода:
1
Смотрите также
-
метод
Time.Year,
который возвращает год временной метки -
метод
Time.Month,
который возвращает месяц временной метки -
метод
Time.Day,
который возвращает день месяца -
функцию
time.Now,
которая возвращает текущее время