Функция time.UnixMilli
Функция time.UnixMilli преобразует количество миллисекунд,
прошедших с 1 января 1970 года UTC (эпоха Unix), в значение типа
time.Time. В первый параметр функция принимает целое число
типа int64, представляющее количество миллисекунд.
Функция возвращает объект time.Time, соответствующий
переданному моменту времени.
Синтаксис
time.UnixMilli(sec)
Пример
Давайте создадим объект времени из количества миллисекунд, соответствующего определённой дате:
package main
import (
"fmt"
"time"
)
func main() {
// 1609459200000 миллисекунд соответствует 2021-01-01 00:00:00 UTC
ms := int64(1609459200000)
t := time.UnixMilli(ms)
fmt.Println(t)
}
Результат выполнения кода:
"2021-01-01 00:00:00 +0000 UTC"
Пример
Давайте получим текущее время в миллисекундах и затем восстановим его обратно:
package main
import (
"fmt"
"time"
)
func main() {
// Получаем текущее время в миллисекундах
now := time.Now()
ms := now.UnixMilli()
fmt.Println(ms)
// Восстанавливаем время из миллисекунд
t := time.UnixMilli(ms)
fmt.Println(t)
}
Результат выполнения кода:
"1700000000000"
"2023-11-14 12:53:20.000 +0000 UTC"
Пример
Давайте создадим время, соответствующее началу эпохи Unix (0 миллисекунд):
package main
import (
"fmt"
"time"
)
func main() {
t := time.UnixMilli(0)
fmt.Println(t)
}
Результат выполнения кода:
"1970-01-01 00:00:00 +0000 UTC"
Пример
Давайте создадим время, используя отрицательное значение миллисекунд (время до эпохи Unix):
package main
import (
"fmt"
"time"
)
func main() {
// -86400000 миллисекунд соответствует 1969-12-31 00:00:00 UTC
ms := int64(-86400000)
t := time.UnixMilli(ms)
fmt.Println(t)
}
Результат выполнения кода:
"1969-12-31 00:00:00 +0000 UTC"
Смотрите также
-
функцию
time.Unix,
которая создает время из секунд и наносекунд -
функцию
time.UnixMicro,
которая создает время из микросекунд -
функцию
time.Now,
которая возвращает текущее время -
метод
time.Time.UnixMilli,
который возвращает количество миллисекунд для времени