Метод time.Time.UnixMilli
Метод UnixMilli преобразует значение time.Time
в целое число типа int64, представляющее количество
миллисекунд, прошедших с начала эпохи Unix (1 января 1970 года,
UTC). Этот метод полезен для работы с API и системами,
которые используют миллисекунды для представления времени.
Синтаксис
t.UnixMilli()
Метод не принимает параметров и возвращает значение типа
int64.
Пример
Давайте получим текущее время и преобразуем его в миллисекунды:
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now()
res := now.UnixMilli()
fmt.Println(res)
}
Результат выполнения кода:
"1698765432123"
Пример
Давайте создадим конкретную дату и преобразуем ее в миллисекунды:
package main
import (
"fmt"
"time"
)
func main() {
t := time.Date(2024, time.January, 1, 0, 0, 0, 0, time.UTC)
res := t.UnixMilli()
fmt.Println(res)
}
Результат выполнения кода:
"1704067200000"
Пример
Давайте преобразуем время с учетом часового пояса и получим миллисекунды:
package main
import (
"fmt"
"time"
)
func main() {
loc := time.FixedZone("MSK", 3*60*60)
t := time.Date(2024, time.January, 1, 0, 0, 0, 0, loc)
res := t.UnixMilli()
fmt.Println(res)
}
Результат выполнения кода:
"1704056400000"
Обратите внимание, что результат отличается от предыдущего примера из-за разницы в часовых поясах.
Смотрите также
-
метод
time.Time.Unix,
который возвращает количество секунд с начала эпохи Unix -
метод
time.Time.UnixMicro,
который возвращает количество микросекунд с начала эпохи Unix -
метод
time.Time.UnixNano,
который возвращает количество наносекунд с начала эпохи Unix -
функцию
time.Now,
которая возвращает текущее локальное время