A common requirement in programs is getting the number of seconds, milliseconds, or nanoseconds since the Unix epoch. Here’s how to do it in Go. |
|
![]() ![]() package main |
|
import ( "fmt" "time" ) |
|
func main() { |
|
Use |
now := time.Now() secs := now.Unix() nanos := now.UnixNano() fmt.Println(now) |
Note that there is no |
millis := nanos / 1000000 fmt.Println(secs) fmt.Println(millis) fmt.Println(nanos) |
You can also convert integer seconds or nanoseconds
since the epoch into the corresponding |
fmt.Println(time.Unix(secs, 0)) fmt.Println(time.Unix(0, nanos)) } |
$ 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 we’ll look at another time-related task: time parsing and formatting. |
Next example: Time Formatting / Parsing.