Go的time.Format(布局字符串)参考时间有什么意义?

时间:2015-01-22 11:18:55

标签: go

Go的time.Format(布局字符串)参考时间的意义是什么,即:

1月2日星期一15:04:05 -0700 MST 2006

这个特定的时间不能完全随机选择,对吧?

来源:http://golang.org/pkg/time/#Time.Format

2 个答案:

答案 0 :(得分:14)

日期的每个部分都用作索引:

Jan        -> 1      -> Month
2          -> 2      -> Day-of-Month
15 = 3PM   -> 15/3   -> hour
04         -> 4      -> minute
05         -> 5      -> second
2006       -> 6      -> year
-0700      -> 7      -> time-zone

所以根据文件:

  

由于MST是GMT-0700,因此可以将参考时间视为   01/02 03:04:05 PM '06 -0700

这使time.Format方法可以轻松解析与所需结果在视觉上相同的人类可读日期格式规范。

将此与例如strftime C函数进行比较,该函数使用难以记忆的格式字符串,例如"%a, %d %b %y %T %z",表示符合RFC 822的日期格式。

Go等效词是:"Mon, 02 Jan 06 15:04 MST"

time.Format将对此字符串进行标记并分析每个单词。

  • Mon被认为是星期一,所以这是工作日的名字
  • 逗号保持不变
  • 02被识别为整数值2,表示索引中的日期
  • Jan是1月份的已知英文缩写,因此用于月份
  • 06年6岁,所以今年是
  • 15相当于3并代表小时
  • ':'字符保持不变
  • 04是4,因此分钟
  • MST被解释为

有关确切的算法,请参阅http://golang.org/src/time/format.go?s=12714:12756#L117

答案 1 :(得分:2)

在美国日期格式中,它是Mon, 1/2 03:04:05 PM 2006 -0700

1,2,3,4,5,6,7。