我有一个管理约会的应用程序。我想在已知开始日期的X周内同时安排每周约会。我目前正在使用以下代码执行此操作。
for i in 0..(events.to_i-1)
if frequency == "Weekly"
interval = (i * 7).days
else frequency == "Fortnightly"
interval = (i * 14).days
end
appointment_date = start_date + interval
//Create new appointment here.....
end
然而,这未考虑夏令时的变化。这样做的最佳方式是什么?
答案 0 :(得分:0)
您可以在Time类中使用since方法,它将处理您正在使用的区域的夏令时。
http://api.rubyonrails.org/classes/Time.html#method-i-since
appointment_date = start_date.since(以秒为单位的间隔)
>> Time.now
=> 2014-10-03 19:39:31 +1000
>> Time.now.since(24.hours)
=> 2014-10-04 19:39:49 +1000
>> Time.now.since(96.hours)
=> 2014-10-07 20:40:34 +1100 (With Daylight Time applied)