Go言語でUnix時間への相互変換(ミリ秒)
相互変換用関数(コピペ用)
code:go
func timeToUnixMilli(t time.Time) int64 {
return t.UnixNano() / 1000000
}
func unixMilliToTime(millis int64) time.Time {
return time.Unix(0, millis * 1000000)
}
動く例
code:go
package main
import (
"fmt"
"time"
)
func timeToUnixMilli(t time.Time) int64 {
return t.UnixNano() / 1000000
}
func unixMilliToTime(millis int64) time.Time {
return time.Unix(0, millis * 1000000)
}
func main() {
millis := timeToUnixMilli(time.Now())
fmt.Println(millis)
// => 1257894000000
t := unixMilliToTime(millis)
fmt.Println(t)
// => 2009-11-10 23:00:00 +0000 UTC
}
この形式は
Javaでも動くnew java.util.Date(1257894000000L)(「java.util.Date = Wed Nov 11 08:00:00 JST 2009」) JavaScriptでも動くnew Date(1257894000000)(「Date Wed Nov 11 2009 08:00:00 GMT+0900 (日本標準時)」)