2016-08-19 105 views
0

問題: 重疊?方法不返回期望值。問題與檢查時間範圍重疊

(start_on.to_i..end_on.to_i).overlaps?(ti.start_time.to_i..ti.end_time.to_i) 

它返回false,但應該是true。

START_ON:2016-08-19 11:00:00 +0200

end_on:2016-08-19 12:00:00 +0200

ti.start_time:2000-01-01 08:00:00 UTC

ti.end_time:2000-01-01 12:00:00 UTC

營業時間等11:00-12:00重疊,08:00 -12:00。爲什麼方法返回false?數據庫中的所有列都是時間類型。當前日期由Time.parse方法引起。

我想這個問題是與日期第二部分時間有2000年,但第一個2016年。任何人都知道如何解決它?

回答

1

您只能通過此strftime("%H:%M")獲得時間。 結果:

(start_on.strftime("%H:%M")..end_on.strftime("%H:%M")).overlaps?(ti.start_time.strftime("%H:%M")..ti.end_time.strftime("%H:%M"))