首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遍历日期并获得两个日期之间的最小天差

问遍历日期并获得两个日期之间的最小天差
EN

Stack Overflow用户
提问于 2013-01-22 07:48:53
回答 1查看 132关注 0票数 0

你好,这是我今年第一次问问题。请帮帮我,我求求你。

我有一个具有开始日期和结束日期的预约表,现在我想遍历它们,并注意它们与我当前日期预订的不同间隔。在我得到所有不同的区间后,我也想遍历到那个区间,并得到可能的或最近的日期。

最近的日期应该是0(enddate == startdate),因为登记时间是固定的。

假设在同一个房间里已经预订了一堆日期。

代码语言:javascript
复制
bookingstart = '2013-02-5 14:00:00' bookingend = '2013-02-7 14:00:00'
bookingstart = '2013-02-13 14:00:00' bookingend = '2013-02-16 14:00:00'
bookingstart = '2013-01-22 14:00:00' bookingend = '2013-02-23 14:00:00'

现在初始代码是这样的:

代码语言:javascript
复制
$newbookingstart = '2013-01-24 14:00:00'
$newbookingend = '2013-01-27 14:00:00';

$sql = mysql_query("SELECT enddate, startdate FROM reservation WHERE rmlocation = 'RM24'");
if (!$sql) {
exit('Error: ' . mysql_error());
}

$diffInterval = array();


while ($row = mysql_fetch_array($sql)) {

if ($row['enddate'] >= $newbookingstart && $newbookingend <= $row['stardate']) {
    $diffInterval .= $row['startdate'] . $row['enddate'] . $row['rmlocation'];
}

}
//Get the $diffInterval, traverse and get the lowest date interval posible

我的问题是如何正确地使用这些代码,特别是在获取数据库中的数据时。如何改进我在同一个房间中搜索所有其他结束日期和开始日期。

EN

回答 1

Stack Overflow用户

发布于 2013-01-22 07:58:56

如果你使用的是MySQL DateTime字段,它应该能够将你从DB获取的字符串转换成你可以用来计算的东西,例如strtotime和其他PHP的日期函数。

另一种可能是直接在SQL中计算。

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

https://stackoverflow.com/questions/14449263

复制
相关文章

相似问题

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