Функция time.UnixMilli

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

Синтаксис

gotime.UnixMilli(sec)

Пример

Давайте создадим объект времени из количества миллисекунд, соответствующего определённой дате:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  // 1609459200000 миллисекунд соответствует 2021-01-01 00:00:00 UTC
  ms := int64(1609459200000)
  t := time.UnixMilli(ms)
  fmt.Println(t)
}

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

go"2021-01-01 00:00:00 +0000 UTC"

Пример

Давайте получим текущее время в миллисекундах и затем восстановим его обратно:

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  // Получаем текущее время в миллисекундах
  now := time.Now()
  ms := now.UnixMilli()
  fmt.Println(ms)

  // Восстанавливаем время из миллисекунд
  t := time.UnixMilli(ms)
  fmt.Println(t)
}

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

go"1700000000000"
"2023-11-14 12:53:20.000 +0000 UTC"

Пример

Давайте создадим время, соответствующее началу эпохи Unix (0 миллисекунд):

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  t := time.UnixMilli(0)
  fmt.Println(t)
}

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

go"1970-01-01 00:00:00 +0000 UTC"

Пример

Давайте создадим время, используя отрицательное значение миллисекунд (время до эпохи Unix):

gopackage main

import (
  "fmt"
  "time"
)

func main() {
  // -86400000 миллисекунд соответствует 1969-12-31 00:00:00 UTC
  ms := int64(-86400000)
  t := time.UnixMilli(ms)
  fmt.Println(t)
}

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

go"1969-12-31 00:00:00 +0000 UTC"

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

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