Time.zone.now&当前的机器时间

时间:2015-08-17 11:07:59

标签: ruby-on-rails ruby time

似乎Time.zonew.now取决于机器当前时间。这对我来说很奇怪。

application.rb

 config.time_zone = 'Central Time (US & Canada)'

我做了实验。

CST时区的实际当前时间

5:54 AM

步骤1)我已将当前机器时间强制为下午7:37

系统时间

drobazko@drobazko:~/www$ date
Mon Aug 17 19:37:35 EDT 2015

rails c

1.9.3-p484 :001 > Time.zone
 => (GMT-06:00) Central Time (US & Canada) 
1.9.3-p484 :002 > Time.zone.now
 => Mon, 17 Aug 2015 18:40:15 CDT -05:00 

步骤2)我已将当前机器时间强制为下午3:17

CST中的实际当前时间

5:54 AM

系统时间

drobazko@drobazko:~/www$ date
Mon Aug 17 15:17:09 EDT 2015

rails c

1.9.3-p484 :001 > Time.zone
 => (GMT-06:00) Central Time (US & Canada) 
1.9.3-p484 :002 > Time.zone.now
 => Mon, 17 Aug 2015 14:18:39 CDT -05:00 

问题:为什么Time.zone.now在早上5点左右没有给我当前的CST时间?

2 个答案:

答案 0 :(得分:1)

您可以在此处找到解决方案:http://www.timeanddate.com/time/zones/cst

夏季:CDT和冬季:CST。目前,我们在夏天:)

答案 1 :(得分:1)

Time.now方法返回系统时间,因此Time.zone.now也返回系统时间,但是在应用程序的时区。