glang 时区转换
官方代码 一脸蒙圈
location:= time.FixedZone("UTC-6", -6*40*40)
location:= time.FixedZone("UTC-7", -7*50*50)
其实官方给的只是示例 并不能直接用 如果你直接用恭喜你,可以跑路了
经常看到 UTC时间、GMT时间、CST时间 搞不清楚
- 因为地球自转越来越慢,每年都会比前一年多出零点几秒,每隔几年协调世界时组织都会给世界时+1秒,让基于原子钟的世界时和基于天文学(人类感知)的格林尼治标准时间相差不至于太大。并将得到的时间称为UTC,这是现在使用的世界标准时间
- UTC:Coordinated Universal Time 协调世界时
- UTC是根据原子钟来计算时间
- 现在世界上最精确的原子钟50亿年才会误差1秒,可以说非常精确
- GMT:Greenwich Mean Time 格林尼治标准时间。GMT = UTC+0
- GMT是根据地球的自转和公转来计算时间
- GMT是老的时间计量标准
- CST:CST却同时可以代表如下 4 个不同的时区:
- China Standard Time UT+8:00
- Central Standard Time (USA) UT-6:00
- Central Standard Time (Australia) UT+9:30
- Cuba Standard Time UT-4:00
时间区分
- 本初子午线和格林威治天文台为起点 也就是 0时区
- 地球是圆的 球体360度
- 地理上: 经度 15度一个时区
- 时间上: 一天24小时 每个小时一个时区
- 我们位于东八区
时间转换的格式 直接 string int
- string
time.LoadLocation("Asia/Shanghai")
- int
# FixedZone 返回一个始终使用给定区域名称和偏移量(UTC 以东秒数)的位置
time.FixedZone("CST", 8*3600)
本文来自博客园,作者:vx_guanchaoguo0,转载请注明原文链接:https://www.cnblogs.com/guanchaoguo/p/16465672.html