计算是否使用 PHP 少于或超过 24 小时


Calculate If it's been less or more than 24 Hours using PHP

我想计算两个设置时间之间的时间(Cron 作业每小时运行 1 小时)。

例如:

下午2:18 于 20/06/20122012 年 6 月 21 日下午 3:00 * cron 作业运行超过 24 小时

我将如何在 PHP 中计算它以执行我稍后将开发的任务。

我尝试过的脚本:

define("SECONDS_PER_HOUR", 60*60);
date_default_timezone_set('UTC');
$result = mysql_query("SELECT * FROM tickets") or die(mysql_error());
while($row = mysql_fetch_array($result)) {
    // Calculate the start time
    $str = $row['openTime'] . " " . $row['openDate'];
    $startdatetime = strtotime($str);
    $enddatetime = time();
    // calculate the difference in seconds.
    $difference =  $enddatetime - $startdatetime;
    $hoursDiff = $difference / SECONDS_PER_HOUR;
    $minutesDiffRemainder = $difference % SECONDS_PER_HOUR;
    echo $row['ticketID'] . ": " . $hoursDiff . "h " . $minutesDiffRemainder . "m<br />";
}

您是否考虑过实际执行一个查询,该查询可以执行所需的操作,而不是提取所有数据并在PHP中进行比较?你可以做

SELECT * from TICKETS WHERE DATE_ADD(open time, INTERVAL 24 HOUR) > CURTIME();

通过阅读您的代码,我假设您需要使opentime字段是时间戳,包含日期和时间。但无论如何,在大多数情况下,这是明智的选择。