假设我有一个日期时间,2011 年 6 月 16 日 7:00。例如,我希望能够在 2011 年 8 月 5 日 7:00 进行检查,并能够判断它恰好是自第一个日期以来 1 天的倍数,而 7:01 则不算数,因为它不是确切的倍数。
另一个测试集:假设我们有 2011 年 6 月 16 日 7:00,我想检查特定的一分钟是否在从那时起恰好 2 小时的间隔内。所以 9:00、11:00、13:00 等会算在内,但 9:30 和 10:00 不会。这可能会持续数天和数月 - 9 月 1 日 7:00 仍然算作每 2 小时内一次。 (不,目前我不知道我将如何处理 DST :D)
我想了一会儿,想不出 PHP 或 MySQL 中已经存在的任何东西可以轻松地做到这一点,但见鬼的,它可以,所以我想在开始重新发明轮子之前把它扔掉并问问。
遗憾的是,这是在 PHP 5.1 上。
最佳答案
select *
from test
where datetimefield > '2011-06-16 07:00:00'
and
mod(timestampdiff(second,'2011-06-16 07:00:00',datetimefield),7200) = 0
此示例将为您提供大于“2011-06-16 07:00:00”的所有记录,其中该字段恰好是 2 小时的倍数。
关于php - 如何查找日期是否适合 PHP 或 MySQL 中的间隔?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6299090/