[英]Java comparing dates
我有一個供應商數據庫,他們租車。 大多數人的租期為2-3天。 在數據庫上,我已將租金開始日期/時間以datetime格式存儲。 租期結束日期也是日期時間格式。
假設有人要租用同一輛車,如果請求的日期范圍落在該車已經租出的日期范圍之一內,我該如何檢查可用性? 我在jsp頁面上使用bean,servlet和jstl。
我猜應該是一個比較器?
如果您使用Java進行比較,則java.util.Date
類已經實現了Comparable
因此您可以僅使用其compareTo()
方法。 但是您也可以使用SQL中的<
和>
運算符在數據庫中進行比較。
還有SQL OVERLAPS函數,可讓您比較兩個日期范圍以查看它們是否相互重疊。 如果您的數據庫支持的話,那可能會更簡單,更高效。
例如,假設您的表稱為“預訂”,則可以執行以下操作:
SELECT id FROM reservations
WHERE (DATE '2012-03-29', DATE '2010-04-01') OVERLAPS (start_date, stop_date)
AND car_id = 12345;
並且,如果返回任何行,則意味着已經有與該日期范圍相沖突的12345汽車預訂。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.