我在Rails中比較時間有點麻煩。我想檢查一個事件是否在一個窗口內,如果有,事件或窗口從哪裏開始,哪個以第一個結束。我的代碼如下。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的使用方式不同於我的想法嗎?你甚至可以用這種方式比較時間嗎?