Ruby on rails Time.zone.now&;当前机器时间

Ruby on rails Time.zone.now&;当前机器时间,ruby-on-rails,ruby,time,Ruby On Rails,Ruby,Time,似乎Time.zonew.now取决于机器当前时间。这对我来说很奇怪 应用程序.rb config.time_zone = 'Central Time (US & Canada)' drobazko@drobazko:~/www$ date Mon Aug 17 19:37:35 EDT 2015 1.9.3-p484 :001 > Time.zone => (GMT-06:00) Central Time (US & Canada) 1.9.3-p484

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

应用程序.rb

 config.time_zone = 'Central Time (US & Canada)'
drobazko@drobazko:~/www$ date
Mon Aug 17 19:37:35 EDT 2015
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 
drobazko@drobazko:~/www$ date
Mon Aug 17 15:17:09 EDT 2015
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 
我做了这个实验

CST时区中的实时当前时间

5:54 AM
步骤1)我已将当前机器时间强制为晚上7:37

系统时间

 config.time_zone = 'Central Time (US & Canada)'
drobazko@drobazko:~/www$ date
Mon Aug 17 19:37:35 EDT 2015
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 
drobazko@drobazko:~/www$ date
Mon Aug 17 15:17:09 EDT 2015
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 
rails c

 config.time_zone = 'Central Time (US & Canada)'
drobazko@drobazko:~/www$ date
Mon Aug 17 19:37:35 EDT 2015
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 
drobazko@drobazko:~/www$ date
Mon Aug 17 15:17:09 EDT 2015
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 
步骤2)我已将当前机器时间强制为下午3:17

CST中的实时当前时间

5:54 AM
系统时间

 config.time_zone = 'Central Time (US & Canada)'
drobazko@drobazko:~/www$ date
Mon Aug 17 19:37:35 EDT 2015
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 
drobazko@drobazko:~/www$ date
Mon Aug 17 15:17:09 EDT 2015
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 
rails c

 config.time_zone = 'Central Time (US & Canada)'
drobazko@drobazko:~/www$ date
Mon Aug 17 19:37:35 EDT 2015
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 
drobazko@drobazko:~/www$ date
Mon Aug 17 15:17:09 EDT 2015
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没有给出我当前CST的实际时间大约在凌晨5点?

您可以在这里找到解决方案:


夏季:CDT,冬季:CST。目前,我们正处于夏季:)

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

看到我的问题了吗?这不是白天,伙计们,为什么问题被否决了?