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"
import "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. |
Previous example: Time.
Next example: Time Formatting / Parsing.