Функция time.Unix

Функция time.Unix преобразует количество секунд, прошедших с 1 января 1970 года UTC, в объект time.Time. Первым параметром функция принимает количество секунд в виде int64, вторым - количество наносекунд в виде int64. Возвращаемое значение представляет момент времени с точностью до наносекунд.

Синтаксис

gotime.Unix(sec, nsec)

Пример с секундами

Давайте преобразуем 1000000 секунд с начала эпохи Unix в объект времени:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  res := time.Unix(1000000, 0)
  fmt.Println(res)
}

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

go"1970-01-12 13:46:40 +0000 UTC"

Пример с секундами и наносекундами

Давайте добавим 500 наносекунд к 1000000 секундам:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  res := time.Unix(1000000, 500)
  fmt.Println(res)
}

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

go"1970-01-12 13:46:40.0000005 +0000 UTC"

Пример с текущим временем

Давайте получим текущий объект времени с помощью time.Unix и функции time.Now:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  now := time.Now()
  res := time.Unix(now.Unix(), 0)
  fmt.Println(res)
}

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

go"2026-09-04 15:30:45.123456789 +0000 UTC"

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

  • функцию time.Now,
    которая возвращает текущее локальное время
  • функцию time.Date,
    которая создает объект времени из компонентов даты
  • функцию time.UnixMilli,
    которая преобразует миллисекунды в объект времени
  • метод time.Time.Unix,
    который возвращает количество секунд для объекта времени