记golang中的一个神奇的时间段2006-01-02T15:04:05Z07:00

用golang开发时,想用time.Parse或time.ParseInLocation将字符串转换成时间格式,第一个时间格式参数应该填:2006-01-02T15:04:05Z07:00   这个时间点,换成别的时间点不行!更不能填ymd这样的字母(毕竟不是java)。

看了些文章没搞懂为什么必须是这个时间点,但人家设定就是如此,也只能这么做了。

其实这个时间点可以这么记:

2006-01-02T15:04:05Z07:00

按照美式时间格式( 月,日,时,分,秒 ,年) 排列起来,每个数字的意义:

 1   2    3   4    5   6    7

月  日  时  分  秒  年  时区

也许他们是为了方便记忆才这么设置/(ㄒoㄒ)/~~

一般时间里 "T" 相当于一个分隔符,不用太在意,包含单独的 "Z" 或者是包含正负号的时区偏移都是有效格式,例如:

  • 2006-01-02T15:04:05Z
  • 2006-01-02T15:04:05+07:00

另外time标准库内的时间格式常量如下:

const (
    ANSIC       = "Mon Jan _2 15:04:05 2006"
    UnixDate    = "Mon Jan _2 15:04:05 MST 2006"
    RubyDate    = "Mon Jan 02 15:04:05 -0700 2006"
    RFC822      = "02 Jan 06 15:04 MST"
    RFC822Z     = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone
    RFC850      = "Monday, 02-Jan-06 15:04:05 MST"
    RFC1123     = "Mon, 02 Jan 2006 15:04:05 MST"
    RFC1123Z    = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone
    RFC3339     = "2006-01-02T15:04:05Z07:00"
    RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
    Kitchen     = "3:04PM"
    // Handy time stamps.
    Stamp      = "Jan _2 15:04:05"
    StampMilli = "Jan _2 15:04:05.000"
    StampMicro = "Jan _2 15:04:05.000000"
    StampNano  = "Jan _2 15:04:05.000000000"
)

 

后来:

后来又看了一篇关于说这个go时间格式的文章,在这里给大家分享出来

Go 的时间格式化为什么是 2006-01-02 15:04:05?

不过我觉得这个知识点记住就行了,别硬纠结

你可能感兴趣的:(后台,golang)