PHP选择单元格中的当前时间

时间:2010-09-09 20:20:00

标签: php

如果我使用PHP代码:

for ($i = 1; $i <= 24; $i++)
 {
 $timetable=strftime("%X", mktime(0, 0, $hour[$i], $month, $day, $year));
 }

获取当天的时间表,如下所示:

   time   |
 ----------
 05:09:23 |
 ----------
 07:23:18 |
 ----------
 11:55:41 |
 ----------
 14:01:32 |
 ----------

我想突出显示打印时间包括当前时间的单元格(如果当前时间是9:23:00,则高亮单元格将是打印时间为07:23:18且当前时间为13的单元格: 59:06突出显示单元格将是11:55:41)

我该怎么做?

3 个答案:

答案 0 :(得分:2)

使用它来执行此操作:

$thisID = 0;
for ($i = 1; $i <= 24; $i++)
{
    $tt = mktime(0, 0, $hour[$i], $month, $day, $year);
    $timetable = strftime("%X", $tt);

    if($thisID == 0 && (time() - $tt) >= 0)
         $thisID = $i;
}

现在$thisID为您提供所需的行。用它来突出显示该行。

答案 1 :(得分:0)

您可以使用date_diff()函数来确定哪一个最接近。 link date_diff或者,如果此信息来自数据库,您可以使用数据库的日期/时间处理函数来返回Now()和作为列回退的日期之间的时差。

答案 2 :(得分:0)

执行此操作的最佳方法在我看来,将时间存储在unix时间戳或午夜的秒数内。这样,您就可以对数据进行排序。

要获得最接近的记录,您需要进行2次查询。

Select time from times where time > $value order by time desc limit 1
Select time from times where time < $value order by time asc limit 1

现在将这两个结果与$ value进行比较并返回最接近的结果。

虽然这种方法需要2个查询并使用更大/更小的语句,但我认为ist比检索所有数据更快。

希望这有帮助!