MongoMapper返回的时间日期中的T和Z是多少?

时间:2012-05-11 00:45:40

标签: ruby mongodb

当我返回created_at&的JSON格式时来自MongoMapper的updated_at,这是我看到的一个例子

"updated_at\":\"2012-04-25T16:25:05Z\"

T(时间?)和Z结束时是什么?

 irb(main):009:0> Story.last.created_at
  DEBUG - MONGODB (0ms) prototype_development['stories'].find({}).limit(-1)
=> 2012-04-25 16:24:26 UTC
irb(main):010:0> Story.last.created_at.to_s
  DEBUG - MONGODB (0ms) prototype_development['stories'].find({}).limit(-1)
=> "2012-04-25 16:24:26 UTC"
irb(main):011:0> JSON.parse(Story.last.to_json)['created_at']
  DEBUG - MONGODB (0ms) prototype_development['stories'].find({}).limit(-1)
=> "2012-04-25T16:24:26Z"

1 个答案:

答案 0 :(得分:8)

这是一种标准化的时间格式 - ISO8601

点击irb

> require 'time' #=> true
> Time.now.utc.iso8601 #=> "2012-05-11T01:28:51Z"

来自Wikipedia

  

UTC时区有时用字母Z表示   等效的航海时区(GMT),用Z表示   大约1950年。   这封信还提到了零小时的“区域描述”   自1920年以来一直使用(见时区历史)。自北约以来   Z的语音字母和业余无线电字是“Zulu”,UTC是   有时被称为祖鲁时间。在航空领域尤其如此   祖鲁是通用标准。这确保了所有飞行员   无论位置是使用相同的24小时时钟,从而避免   在时区之间飞行时的混乱。见军事名单   在限定时区内除Z之外使用的字母的时区   除格林威治外。