UTC,GMT,CST是什么?
- 可以参考这篇文章:https://baijiahao.baidu.com/s?id=1732139602203523267
- UTC时间比中国上海表示的时区慢8个小时。
- CST: 2022-08-22 00:00:00 +0800 CST
- UTC: 2022-08-21 16:00:00 +0000 UTC
Go语言中time库常用的一些方法
-
time.Local (*time.Location): 获取当前系统的时区
-
time.UTC (*time.Location): UTC
-
func time.Parse(layout string, value string) (time.Time, error)
- 可以将字符串转化为go Time类型。 第一个 layout是对应的时间模板。 time库内置了很多的模板。 可以自定义 FormatTimeShort = “2006-01-02”, 模板只解析到年月日.
- 这个方法默认转换为的时间是 UTC时间。
-
func time.ParseInLocation(layout string, value string, loc *time.Location) (time.Time, error)
- 这个方法解析的时候可以传递时区信息。
-
func time.Now() time.Time
返回当前时区的时间。 -
func (time.Time).UTC() time.Time
将具有时区的时间,转化为 UTC表示的时间。 -
func (time.Time).Unix() int64
该方法将Time类型的时间转换为 时间戳,时间戳是不依赖时区的。默认是从 UTC时间规定的开始计算。 -
func time.Unix(sec int64, nsec int64) time.Time
这个函数可以将时间戳转化为当前时区的Time类型时间。 -
func (time.Time).MarshalJSON() ([]byte, error)
解析时间到json格式的函数。
注意:
- 使用时间的时候,要注意到时区的转换。
- 一般读取本地时区的时候,要注意本地时区的设置:
- 比如ubuntu系统,输入
date
指令,可以获取当前的时间。 timedatectl set-timezone Asia/Shanghai
设置当前的时区为 中国上海的时区。
- 比如ubuntu系统,输入