Time.parse ..小时不是预期的

时间:2014-01-08 12:52:03

标签: ruby

为什么这说13而不是14?

Time.parse('2014-01-08 14:01:00 +0300').hour
# => 13

2 个答案:

答案 0 :(得分:7)

时间被正确解析,但显示在您当地的时区。

这在我的控制台中发生:

Time.parse('2014-01-08 14:01:00 +0300')
=> 2014-01-08 12:01:00 +0100

请注意+0100

答案 1 :(得分:1)

http://apidock.com/rails/Time/use_zone/class 应该帮助您在正确的时区获得时间
Time.use_zone(区域名称)接受阻止。在此块应用程序内部使用您在区域名称中提供的时区

  

use_zone(time_zone)public   
  允许在提供的块内局部覆盖Time.zone;完成后将Time.zone重置为现有值。