我想将UTC时间字符串转换为Unix时间戳。
我做这个

1
2
3
4
fmt.Printf("%s %d\
", time.Now().String(), time.Now().Unix())
fmt.Printf("%s %s\
", time.Now().UTC().String(), time.Now().UTC().Unix())

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

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

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


Unix()始终返回自UTC 1970年1月1日起经过的秒数。 因此,不管您给它time.Now()还是time.Now().UTC(),它都是相同的UTC时间,只是在地球上的不同位置。 结果是正确的。

  • 您能否解释一下这样的短语:" UTC时间是同一时间,只是在地球上的不同地方",UTC并不是要普及吗? youtube.com/watch?v=pOGL7oqZqEc
  • 给定的时刻或时间点是唯一的实例,根据参考点可以用各种方式表示。 例如。 格林尼治标准时间+1时区的某人将在格林尼治标准时间2所在的中午某个时间发生的某个事件称为或表示为15小时(下午3点),格林尼治标准时间+ 3时区的某人将其称为17小时(下午5点),等等。 上。 因此,对单个时间点的引用不同。 我希望这会有所帮助。