Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails &引用;在“时区”中;更改过去日期的时区_Ruby On Rails_Ruby_Datetime_Timezone - Fatal编程技术网

Ruby on rails &引用;在“时区”中;更改过去日期的时区

Ruby on rails &引用;在“时区”中;更改过去日期的时区,ruby-on-rails,ruby,datetime,timezone,Ruby On Rails,Ruby,Datetime,Timezone,我正在使用ruby的方法转换所需时区中的时间 当日期在过去时,它正在改变时区,这是意外的 process\u date:是表中存储日期时间的列 这是一个片段 2.5.5 :500 > @time_zone => "Eastern Time (US & Canada)" 2.5.5 :501 > future_transaction.process_date => Sat, 30 Nov 2019 03:59:11 UTC +00:00 2.5.5 :502

我正在使用ruby的方法转换所需时区中的时间

当日期在过去时,它正在改变时区,这是意外的

process\u date:是表中存储日期时间的列

这是一个片段

2.5.5 :500 > @time_zone
 => "Eastern Time (US & Canada)" 
2.5.5 :501 > future_transaction.process_date
 => Sat, 30 Nov 2019 03:59:11 UTC +00:00 
2.5.5 :502 > DateTime.parse(future_transaction.process_date.to_s).in_time_zone(@time_zone).strftime("%m/%d/%Y %r %Z")
 => "11/29/2019 10:59:11 PM EST" # << here it is EST
2.5.5 :503 > past_transaction.process_date
 => Sat, 02 Nov 2019 09:38:00 UTC +00:00 
2.5.5 :504 > DateTime.parse(past_transaction.process_date.to_s).in_time_zone(@time_zone).strftime("%m/%d/%Y %r %Z")
 => "11/02/2019 05:38:00 AM EDT" # << here it is EDT becasue of past date
2.5.5 :505 >
2.5.5:500>@时区
=>“东部时间(美国和加拿大)”
2.5.5:501>未来交易处理日期
=>2019年11月30日星期六03:59:11 UTC+00:00
2.5.5:502>DateTime.parse(future\u transaction.process\u date.to\u.s).在\u时区(@time\u zone).strftime(“%m/%d/%Y%r%Z”)
=>“2019年11月29日美国东部时间晚上10:59:11”#过去的交易处理日期
=>2019年11月2日星期六09:38:00 UTC+00:00
2.5.5:504>DateTime.parse(过去的事务处理到日期)在时区(@timezone).strftime(“%m/%d/%Y%r%Z”)
=>“2019年2月11日05:38:00美国东部夏令时”

谁能告诉我我的方法有什么问题。

这是因为夏天和冬天的时间。今年11月3日EDT改为EST。所以这不是一个bug,而是一个特性:)

这是因为夏天和冬天的时间。今年11月3日EDT改为EST。因此,这不是一个bug,而是一个功能:)

请查看“”和“”及其所有链接页面。我们需要问题本身的最小代码来演示问题。我们可以从IRB会话中解决它,但这不是SO想要的。中的时区中没有
方法。请查看“”和“”及其所有链接页面。我们需要问题本身的最小代码来演示问题。我们可以从IRB会话中解决这个问题,但这不是SO想要的。在中,时区中没有
方法。