时间戳中T和Z的确切含义是什么?

roy*_*g86 71 python datetime timestamp strftime rfc3339

我有这个时间戳值由Web服务返回 "2014-09-12T19:34:29Z"

我知道这意味着时区,但究竟是什么意思?

我正在尝试模拟这个Web服务,所以有没有办法strftime在python中生成这个时间戳?

很抱歉,如果这很明显,但谷歌不是很有帮助,也没有strftime()参考页面.

我目前正在使用这个:

x.strftime("%Y-%m-%dT%H:%M:%S%Z")
'2015-03-26T10:58:51'
Run Code Online (Sandbox Code Playgroud)

Mar*_*ers 95

T并不代表什么.这仅仅是分隔ISO 8601相结合的日期时间格式要求.您可以将其读作Time的缩写.

零时区的Z代表,因为它与协调世界时(UTC)相差 0 .

两个字符都只是格式中的静态字母,这就是该datetime.strftime()方法未记录的原因.您可以使用Q或者M或者Monty Python该方法也会使它们保持不变; 该方法仅查找%以替换具有来自datetime对象的信息的模式开始.

  • @TomCho:不,`Zulu`是`Z`的北约语音字母名称,因为时区*是*timezone Zero,所以使用它.请参阅我在答案中包含的维基百科链接:*UTC时间也称为"Zulu"时间,因为"Zulu"是ICAO拼写字母代码字"Z".* (14认同)
  • `Z`实际上代表[Zulu](http://www.timeanddate.com/time/zones/z),这是UTC0的"名称".听起来很奇怪,但每个时区都有各自的名字. (7认同)
  • @TomCho:看起来TimeAndDate倒退了; 我会说`Z`出现在'Zulu`之前.http://en.wikipedia.org/wiki/List_of_military_time_zones很有意思,但没有给出Z用于零偏移时区的任何历史理由,只有`Z`因此命名为`Zulu`. (4认同)
  • @TomCho:[`Z`用于自20世纪50年代以来的'+ 0000`(当时的GMT)](http://en.wikipedia.org/wiki/Nautical_time)(在UTC之前甚至存在).据我所知,`Z`只是一个字母(你可以使用*助记符*`Zero`和/或将其发音为`Zulu`(来自广泛使用的拼写字母) (4认同)