go 时间格式化​time.Format问题为什么怎么格式都不对

编辑整理:
老秦
热度:
4413

golang使用​time.Format的一个知识点,比较坑人,特此说明


c94a0ed

必须使用这个时间"2006/1/2 15:04:05"才能返回正确的格式化后的时间,其他的都不行。据说是纪念go语言的诞生时间。

94e1

我觉得不是,仔细一看就是 2006-01-02 03:04:05,明显是故意用这个数字。

94e1

2006 年(固定)
01 双数月(如 06)
1 单数月(如 6)
02 双数日(如 03)
2 单数日 (如 3)
03 12小时制
15 24小时制
04 双数分
4 单数分
05  双数秒
5 单数秒

例子5f83fcb6

time.Format("2006/1/2 15:04:05") //输出2020/7/5 16:01:038087

time.Format("2006/01/02 3:4:5") //输出2020/07/05 4:1:3c94a0ed

其实也不是很复杂,只是作者刻意这么创新,感觉有点过了。c94a0ed

直接用广泛使用的yyyy-mm-dd 这类的做法不好么?5f83fcb6


c94a0ed


128545d0


128545d0c94a0ed