我正在尝试编写一个依赖于日期范围的程序。我试图在他们的范围有漏洞时提醒用户,但我需要一种可靠的方法来找到它们,并能够有效地处理它们。
我的解决方案是更改任何日期,以便重写插入应用程序的任何一天,以便在中午的那一天。这是代码:
public function reformDate($date){
return strtotime(date("F j, Y", $date)." 12:00pm");
}
这将允许我处理更规则和一致的数据集。因为我只需看看他们分开了多少天,而不是看到他们分开多少秒,并决定时间数量是否代表有意间隙......
然而,我看到,当你今天中午放入东西时,如果你明天中午放一些东西,因为价值是相同的,并且基于我的限制:Select * from times where :date between start and end
它会触发响应。我对这个的解决方案是只添加一个到start变量,并从end变量中删除一个,所以我可以通过询问是否有一个开头和一个结束之间的差异来轻松检查是否存在重叠另一个超过2.
无论如何,我的问题是:这是一个很好的方法吗?我特别担心数字2 - 我是否需要担心使用如此小的时间单位(顺便说一下,这是unix时间)。或者,我应该创建一个测试,如果两个时间单位完全重叠 - 它们应该被接受吗?