Функция time.Now

Функция time.Now возвращает текущее системное время в виде значения типа time.Time. Она не принимает никаких параметров и всегда возвращает текущее время в локальном часовом поясе системы. Полученное значение содержит информацию о дате, времени и временной зоне. Функция часто используется для логирования, измерения времени выполнения операций и работы с датами.

Синтаксис

gotime.Now()

Пример

Получим текущее время и выведем его в стандартном формате:

gopackage main

import (
  "fmt"
  "time"
)

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

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

go"2026-09-04 15:04:05.123456789 +0300 MSK"

Обратите внимание, что точный формат вывода зависит от текущей даты и времени системы.

Пример

Получим текущее время и извлечем из него отдельные компоненты:

gopackage 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)
}

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

go"Year: 2026"
"Month: September"
"Day: 4"
"Hour: 15"
"Minute: 4"
"Second: 5"

Пример

Используем текущее время для вычисления временной метки Unix:

gopackage 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)
}

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

go"Unix timestamp: 1234567890"
"Unix nanosecond: 1234567890123456789"

В реальной работе значения будут соответствовать текущему моменту времени.

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

  • функцию time.Since,
    которая вычисляет время, прошедшее с указанного момента
  • функцию time.Until,
    которая вычисляет время до указанного момента
  • метод Time.UTC,
    который преобразует время в часовой пояс UTC
  • метод Time.Format,
    который форматирует время согласно заданному шаблону