How to get Timestamp of UTC time with Golang?

LeMoussel picture LeMoussel · Jul 2, 2017 · Viewed 43.4k times · Source

I want to convert UTC time string to unix timestamp. I do this

fmt.Printf("%s %d\n", time.Now().String(), time.Now().Unix())
fmt.Printf("%s %s\n", time.Now().UTC().String(), time.Now().UTC().Unix())

But I got same unix timestamp 1499018765

2017-07-02 20:06:05.5582802 +0200 CEST 1499018765

2017-07-02 18:06:05.791337 +0000 UTC 1499018765

Answer

Constantin S. Pan picture Constantin S. Pan · Jul 2, 2017

Unix() always returns the number of seconds elapsed since January 1, 1970 UTC. So it does not matter whether you give it time.Now() or time.Now().UTC(), it is the same UTC time, just in different places on Earth. What you get as the result is correct.