【发布时间】:2012-09-28 22:29:21
【问题描述】:
我在比较 Rails 中的时间时遇到了一些麻烦。我想检查一个事件是否在一个窗口内,如果是,然后找到哪个事件或窗口最后开始,哪个先结束。我的代码如下。
startingTime = 0
endingTime = 0
time = 0
eventTimeStart = Time.parse(event.start.to_s) #Need to convert DateTime to just Time
windowTimeStart = Time.parse(application.reportStart.to_s)
eventTimeEnd = Time.parse(event.end.to_s) #Need to convert DateTime to just Time
windowTimeEnd = Time.parse(application.reportEnd.to_s)
days = 0
if((windowTimeStart > eventTimeStart) || !(eventTimeStart < windowTimeEnd))
startingTime = windowTimeStart
if((eventTimeStart > windowTimeEnd))
days -= 1
end
else
startingTime = eventTimeStart
end
if((windowTimeEnd > eventTimeEnd) && (eventTimeEnd > windowTimeStart))
endingTime = eventTimeEnd
else
if((eventTimeEnd < windowTimeStart))
days -= 1
end
endingTime = windowTimeEnd
end
我已经手写了每个案例,但是在运行时它似乎与预期的不同。好像我总是进入窗口时代。 Rails 对 Times 使用的方法是否与我想的不同?你甚至可以用这种方式比较时间吗?
【问题讨论】:
标签: ruby-on-rails ruby datetime time