首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java比较日期

Java比较日期
EN

Stack Overflow用户
提问于 2012-03-30 08:14:27
回答 1查看 706关注 0票数 0

我有一个供应商的数据库,他们租车。大多数人的租期是2-3天。在数据库中,我将租金开始日期/时间存储为datetime格式。租金结束日期也是日期时间格式。

假设有人想要租同一辆车,如果请求的日期范围落在车已经租出的日期范围内-我如何检查可用性?我在jsp页面上使用了bean、servlet和jstl。

我猜它应该是一个比较器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-30 08:19:16

如果您正在用Java语言进行比较,那么java.util.Date类已经实现了Comparable,所以您可以只使用它的compareTo()方法。但是您也可以在数据库中使用SQL中的<>运算符进行比较。

还有SQL OVERLAPS函数,它允许您比较两个日期范围,看看它们是否相互重叠。如果您的数据库支持它,那么这可能会更简单、更有效。

例如,假设您的表名为“预留”,您可以这样做:

代码语言:javascript
复制
SELECT id FROM reservations
WHERE (DATE '2012-03-29', DATE '2010-04-01') OVERLAPS (start_date, stop_date)
  AND car_id = 12345;

如果返回任何行,则意味着已经为car 12345预订了与该日期范围冲突的位置。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9935403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档