Go на примерах: Эпоха Unix

Распространённая задача в программах — получить количество секунд, миллисекунд или наносекунд с момента эпохи Unix. Вот как это сделать в Go.

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

Используй time.Now с Unix, UnixMilli или UnixNano, чтобы получить прошедшее время с эпохи Unix в секундах, миллисекундах или наносекундах соответственно.

    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

Далее рассмотрим ещё одну задачу, связанную со временем: парсинг и форматирование времени.

Далее: .