Често срещано изискване в програмите е да се вземе броя на секундите, милисекундите или нанносекундите, изтекли от т.нар Епоха на Юникс1. Ето как се прави това в Го.
import (
"fmt"
"time"
)
func main() {
Използвайте time.Now с методите Unix,
UnixMilli или UnixNano, за да вземете изтеклото
(сиреч текущото) време от началото на епохата
Юникс съответно в секунди, милисекунди или
наносекунди.
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
2026-03-10 11:41:57.168635286 +0200 EET m=+0.000023199
1773135717
1773135717168
1773135717168635286
2026-03-10 11:41:57 +0200 EET
2026-03-10 11:41:57.168635286 +0200 EET
Следващ пример: Разбор и показване на Time.