如何使用Golang获取UTC时间的时间戳?

LeM*_*sel 21 timestamp go unix-timestamp

我想将UTC时间字符串转换为unix时间戳.我这样做

fmt.Printf("%s %d\n", time.Now().String(), time.Now().Unix())
fmt.Printf("%s %s\n", time.Now().UTC().String(), time.Now().UTC().Unix())
Run Code Online (Sandbox Code Playgroud)

但我得到了相同的unix时间戳 1499018765

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

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

小智 48

Unix()始终返回自1970年1月1日UTC以来经过的秒数.所以无论你是给它time.Now()还是time.Now().UTC(),它都是相同的UTC时间,只是在地球的不同地方.你得到的结果是正确的.

  • 您能否解释一下“它是相同的 UTC 时间,只是在地球上的不同地方” UTC 并不意味着是通用的?https://www.youtube.com/watch?v=pOGL7oqZqEc (2认同)
  • 给定的时刻或时间点是唯一的实例,根据参考点可以用各种方式表示。例如,某时区发生在格林尼治标准时间2(GMT-2)时区的某事件将被格林尼治标准时间+1时区的某人称为或代表15小时(下午3点),格林尼治标准时间+ 3时区某人称为或代表17小时(下午5点),并且以此类推。因此,对单个时间点的引用不同。我希望这会有所帮助。 (2认同)