Функция time.Now
Функция time.Now возвращает текущее системное время
в виде значения типа time.Time. Она не принимает
никаких параметров и всегда возвращает текущее время
в локальном часовом поясе системы. Полученное значение
содержит информацию о дате, времени и временной зоне.
Функция часто используется для логирования, измерения
времени выполнения операций и работы с датами.
Синтаксис
time.Now()
Пример
Получим текущее время и выведем его в стандартном формате:
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
fmt.Println(now)
}
Результат выполнения кода:
"2026-09-04 15:04:05.123456789 +0300 MSK"
Обратите внимание, что точный формат вывода зависит от текущей даты и времени системы.
Пример
Получим текущее время и извлечем из него отдельные компоненты:
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
year := now.Year()
month := now.Month()
day := now.Day()
hour := now.Hour()
minute := now.Minute()
second := now.Second()
fmt.Println("Year:", year)
fmt.Println("Month:", month)
fmt.Println("Day:", day)
fmt.Println("Hour:", hour)
fmt.Println("Minute:", minute)
fmt.Println("Second:", second)
}
Результат выполнения кода:
"Year: 2026"
"Month: September"
"Day: 4"
"Hour: 15"
"Minute: 4"
"Second: 5"
Пример
Используем текущее время для вычисления временной метки Unix:
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
unix := now.Unix()
unixNano := now.UnixNano()
fmt.Println("Unix timestamp:", unix)
fmt.Println("Unix nanosecond:", unixNano)
}
Результат выполнения кода:
"Unix timestamp: 1234567890"
"Unix nanosecond: 1234567890123456789"
В реальной работе значения будут соответствовать текущему моменту времени.
Смотрите также
-
функцию
time.Since,
которая вычисляет время, прошедшее с указанного момента -
функцию
time.Until,
которая вычисляет время до указанного момента -
метод
Time.UTC,
который преобразует время в часовой пояс UTC -
метод
Time.Format,
который форматирует время согласно заданному шаблону