0

我正在尝试编写一个依赖日期范围的程序。我试图能够在用户范围内有漏洞时提醒用户,但我需要一种可靠的方法来找到这些漏洞,并能够有效地处理它们。

我的解决方案是更改任何日期,以便将插入到应用程序中的任何一天都重写,以便当天中午。这是代码:

    public function reformDate($date){
        return strtotime(date("F j, Y", $date)." 12:00pm");
    }

这将使我能够处理更规则和一致的数据集。因为我只需要看看他们分开了多少天,而不是看看他们分开了多少秒,然后决定那个时间量是否代表故意的差距......

但是,我看到,当您在今天中午放入一些东西时,如果您在明天中午放入一些东西,因为值是相同的,并且基于我的限制:

Select * from times where :date between start and end

它触发响应。我的解决方案在开始变量中添加一个,从结束变量中减去一个,因此我可以通过询问一个开始和另一个结束之间的差异是否大于 2 来轻松检查是否存在重叠。

无论如何,我的问题是:这是一个好方法吗?我特别担心数字 2 - 我是否需要担心使用这么小的时间单位(顺便说一下,这是 unix 时间)。或者,我应该创建一个测试,如果两个时间单位完全重叠 - 它们应该被接受吗?

4

0 回答 0