Goによる実践例: エポック

プログラムでは、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

次に、時間関連の別のタスク、時間の解析とフォーマットについて説明します。

次の例: 時間のフォーマット / 解析