簡體   English   中英

Java比較日期

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM