go time.Now().Unix()和time.Now().UTC().Unix()为什么结果是一样的

编辑整理:
老秦
热度:
11611

go语言里时间的一个知识点:time.Now().Unix(),time.Now().Local().Unix()和time.Now().UTC().Unix()为什么结果是一样的

go语言时间获取方面有一个非常绕的地方,就是时区问题。

f10b364

可以发现如下现象:c5d30

time.Now().Unix()

f10b364

time.Now().Local().Unix()5bb92

time.Now().UTC().Unix()

f10b364

这3条语句运行结果是一样的。6b2e623

为什么呢?906ad

因为Unix()计算和时区是没关系的的,计算的是:www.9lyp.com

格林威治时间1970年01月01日00时00分00秒起到此时此刻的格林威治时间(假如是00点)的【总秒数】91bb

北京的话就是1970年01月01日08时00分00秒)到现此时此刻的北京时间(还是08点)的【总秒数】d5ebf30

2个的结果是一样的。和时区没关系。d5ebf30


f10b364


5bb92


c5d30


5bb92


5bb926b2e623