Как преобразовать метку времени UNIX в time.Time?
Как преобразовать метку времени UNIX в объект time.Time
?
Ответы (1 шт):
Автор решения: wchistow
→ Ссылка
Можно использовать time.Unix()
:
package main
import (
"fmt"
"time"
)
func main() {
unixTime := time.Unix(1589570165, 0) // 0 - это число наносекунд
fmt.Println(unixTime)
}
2020-05-15 22:16:05 +0300 MSK
Update
Во многих онлайн-системах метки времени возвращаются с миллсекундами, бывают даже метки времени с микросекундами. Это тоже называют метками времени UNIX. Для них в пакете time
предусмотрены специальные функции time.UnixMilli
и time.UnixMicro
. Пример:
package main
import (
"fmt"
"time"
)
func main() {
unixTimeMilli := time.UnixMilli(1589570165123)
unixTimeMicro := time.UnixMicro(1589570165123456)
fmt.Println("millis: ", unixTimeMilli)
fmt.Println("micros: ", unixTimeMicro)
}
millis: 2020-05-15 19:16:05.123 +0000 UTC
micros: 2020-05-15 19:16:05.123456 +0000 UTC