【发布时间】:2011-01-17 05:59:48
【问题描述】:
- 例如,我的 UTC 日期为
Tue, 16 Feb 2010 03:12:02 UTC +00:00。 - 我想将此日期加上 168 小时以获得未来的 UTC 日期。
- 最好的方法是什么?
【问题讨论】:
标签: ruby-on-rails ruby date time
Tue, 16 Feb 2010 03:12:02 UTC +00:00。【问题讨论】:
标签: ruby-on-rails ruby date time
您标记了问题rails,所以这里是您可以在 Rails 中使用一些帮助程序的方法:
time_string = 'Tue, 16 Feb 2010 03:12:02 UTC +00:00'
new_time = Time.parse( time_string ) + 168.hours
如果您已经将它作为 Time 对象,只需添加 168.hours:
new_time = old_time + 168.hours
或者你可以添加1.week:
new_time = old_time + 1.week
【讨论】:
仅供参考,“9.days”比“168.hours”更简单。
>> new_time = Time.parse( time_string ) + 168.hours
=> Tue Feb 23 03:12:02 UTC 2010
>> new_time = Time.parse( time_string ) + 9.days
=> Thu Feb 25 03:12:02 UTC 2010
【讨论】:
9.days 可能更简单,但这会使216 小时。我想你的意思是7.days 或1.week :)
在原版 Ruby 中,这并不难:
time_string = 'Tue, 16 Feb 2010 03:12:02 UTC +00:00'
new_time = DateTime.parse( time_string ) + 7
(您可以只使用 Date 类,它仍然可以工作。)
我承认添加小时数有点棘手。
【讨论】: