Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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 Rails DateTime-to-Time dst检查_Ruby On Rails_Datetime_Time_Dst - Fatal编程技术网

Ruby on rails Rails DateTime-to-Time dst检查

Ruby on rails Rails DateTime-to-Time dst检查,ruby-on-rails,datetime,time,dst,Ruby On Rails,Datetime,Time,Dst,这也失败了 Time.now 2017-03-14 12:07:59 -0600 Time.now.dst? true tt = Time.parse(DateTime.strptime("03/14/2017 12:07AM", "%m/%d/%Y %I:%M%p").to_datetime.to_s) 2017-03-14 00:07:00 +0000 tt.class Time tt.dst? false 为什么DateTime到Time的转换无法通过dst?我认为这是因为转换的时间缺

这也失败了

Time.now
2017-03-14 12:07:59 -0600
Time.now.dst?
true

tt = Time.parse(DateTime.strptime("03/14/2017 12:07AM", "%m/%d/%Y %I:%M%p").to_datetime.to_s)
2017-03-14 00:07:00 +0000
tt.class
Time
tt.dst?
false

为什么DateTime到Time的转换无法通过dst?

我认为这是因为转换的时间缺少时区(例如-0600)。试试下面的方法

DateTime.strptime(value, "%m/%d/%Y %I:%M%p").to_datetime.strftime("%Y-%m-%d %H:%M:%S").to_datetime.change(offset: '-0500').to_time.dst?
 tt = Time.parse(DateTime.strptime("03/14/2017 12:07AM -06:00", "%m/%d/%Y %I:%M%p %z").to_datetime.to_s)