Go 的时间格式
在 Go 中如果你需要解析一个自定义的时间字符串,将其转化为 Go 的 time.Time
类型,或者格式化的输出时间,那么你需要定义一个 layout。
在这一步就会容易出现错误,不同于其他语言以形如 yyyy-MM-dd HH:mm:ss
的格式解析,Go 是以一个特定的时间来确定格式, 即 **2006-01-02T15:04:05Z07:00
**。
因此,如果你需要使用 Go 来解析一个时间字符串, 那么你可能就需要写如下的代码
1 |
|
在 Go 中,时间的格式都是 20060102150405
的格式变种。
那么看到这里,肯定会觉得奇怪,为什么 Go 会选用这样的一个时间来作为格式化的标准。
实际上,这个时间中的0 1 2 3 4 5 6
对应了 Posix 下 date 命令的输出
1 |
|
7
对应的就是中间的时区。
因此想要转化时间不出错,需要记住这个时间点,也就是星期,月,日,时,分,秒,年的,从 0 递增的一个序列。
Go 的时间格式
https://blog.zhangliangliang.cc/post/time-format-of-go.html