Go by Example: Epoch

Unix エポック からの秒数やミリ秒数、ナノ秒数を取得することは、 プログラムの一般的な要件です。Go での方法は、次の通りです。

package main
import (
    "fmt"
    "time"
)
func main() {

Unix エポックからの経過時間を秒、ミリ秒、ナノ秒で取得するには、 time.NowUnixUnixMilliUnixNano と使います。

    now := time.Now()
    fmt.Println(now)
    fmt.Println(now.Unix())
    fmt.Println(now.UnixMilli())
    fmt.Println(now.UnixNano())

エポックからの秒数やナノ秒数を表す数値を、 対応する time に変換することもできます。

    fmt.Println(time.Unix(now.Unix(), 0))
    fmt.Println(time.Unix(0, now.UnixNano()))
}
$ go run epoch.go
2012-10-31 16:13:58.292387 +0000 UTC
1351700038
1351700038292
1351700038292387000
2012-10-31 16:13:58 +0000 UTC
2012-10-31 16:13:58.292387 +0000 UTC

次は、時刻関連の別のタスクである、 時刻のパースとフォーマットを見ていきます。

Next example: Time Formatting / Parsing.