Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.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中使用time.now添加时间_Ruby On Rails_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails 如何在rails中使用time.now添加时间

Ruby on rails 如何在rails中使用time.now添加时间,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,在控制器中: @交货时间=time.now+@hotel.deliverytime.to_i.strftime%i:%M 其中交货时间=00:30:00 我得到了一个错误的@delivery_time的答案。我在添加时间后得到了2014-12-12 05:50:00。现在=2014-12-12 17:20:00,deliverytime=00:30:00。答案应该是2014-12-12 17:50:00。我做错了什么?试着这样做:- duration = @hotel.deliverytime.

在控制器中:

@交货时间=time.now+@hotel.deliverytime.to_i.strftime%i:%M

其中交货时间=00:30:00

我得到了一个错误的@delivery_time的答案。我在添加时间后得到了2014-12-12 05:50:00。现在=2014-12-12 17:20:00,deliverytime=00:30:00。答案应该是2014-12-12 17:50:00。我做错了什么?

试着这样做:-

duration = @hotel.deliverytime.hour * 60 * 60 + @hotel.deliverytime.min * 60 + @hotel.deliverytime.sec
@delivery_time=(Time.now + duration).strftime("%I:%M")

Rails允许您添加特定数量的天、小时、分钟等

Time.now+30.minutes
你也可以

Time.now+1.hour
Time.now+1.day
如果您的时间是00:00:00字符串,您可以执行以下操作

@delivery_time=(Time.now + (@hotel.deliverytime.split(':')[0].to_i*3600 + @hotel.deliverytime.split(':')[1].to_i*60 + @hotel.deliverytime.split(':')[2].to_i).seconds ).strftime("%I:%M")

评论不用于扩展讨论;这段对话已经结束。