gpt4 book ai didi

PHP/MySQL 查找 UNIX 时间范围内的事件

转载 作者:行者123 更新时间:2023-11-29 23:19:47 24 4
gpt4 key购买 nike

我希望在这里得到一些帮助来解决我长期以来一直困扰的问题。

我有一个包含事件的 MySQL 数据库,其中事件的开始时间以 UNIX 时间存储。我需要循环遍历一周中接下来的 7 天(包括今天),从上午 5 点到凌晨 4:59,以查找在该时间跨度内开始的事件。

这意味着,我需要找到从 1418270400 到 1418356799 开始的所有事件,然后添加 1 天以循环到这两个日期(而不是 86400 秒)。

我已经为此苦苦挣扎了一段时间,只是无法理解这个问题...是否有一位具有更多 PHP 技能的好心人可以帮助我?

这是我用来计算时间段的代码:

$timestamp = time();
$dtNow = new DateTime();
$dtNow->setTimestamp($timestamp);

$beginOfDay = clone $dtNow;

$beginOfDay->setTime(05, 00, 0);

$endOfDay = clone $beginOfDay;
$endOfDay2 = clone $beginOfDay;
$endOfDay->setTime('05, 00, 0');
$endOfDay2->setTime('05, 00, 0');
$endOfDay->add(new DateInterval('P1D'));
$endOfDay2->add(new DateInterval('P7D'));
$endOfDay->modify('1 second ago');
$endOfDay2->modify('1 second ago');

我需要从 MySQL 数据库获取所有事件,其时间戳介于 $beginOfDay 和 $endOfDay 之间,但低于 $endOfDay2 ...

最佳答案

foreach ($days as $day) {
$date = new DateTime();
$date->setTimestamp($starting_timestamp); // OR
$date->setTime(5);

$date2 = new DateTime();
$date2->setTimestamp($ending_timestamp); // OR
$date2->setTime(4, 59);

$query = "SELECT event.* from events WHERE timestamp BETWEEN($date->getTimestamp(), $date2->getTimestamp())";
// query stuff or what ever you want to do.
}

这只是一个可能对您有用的简单示例,希望对您有所帮助。

关于PHP/MySQL 查找 UNIX 时间范围内的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27426223/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com