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

PHP选择单元格中的当前时间,php,Php,如果我使用PHP代码,如: for ($i = 1; $i <= 24; $i++) { $timetable=strftime("%X", mktime(0, 0, $hour[$i], $month, $day, $year)); } 我想突出显示打印时间包含当前时间的单元格(如果当前时间为9:23:00,则突出显示单元格将是打印时间为07:23:18的单元格,如果当前时间为13:59:06,则突出显示单元格将是11:55:41) 我该怎么做呢?有一个date_diff()函数

如果我使用PHP代码,如:

for ($i = 1; $i <= 24; $i++)
 {
 $timetable=strftime("%X", mktime(0, 0, $hour[$i], $month, $day, $year));
 }
我想突出显示打印时间包含当前时间的单元格(如果当前时间为9:23:00,则突出显示单元格将是打印时间为07:23:18的单元格,如果当前时间为13:59:06,则突出显示单元格将是11:55:41)

我该怎么做呢?

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

使用此功能:

$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=0;
对于($i=1;$i=0)
$thisID=$i;
}

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

我认为最好的方法是将时间存储在unix时间戳或午夜后的秒数中。这样,您就有了一种可靠的数据排序方法

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

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按时间顺序描述限制1
按时间asc限制1从时间<$value顺序的时间中选择时间
现在将这两个结果与$value进行比较,并返回最接近的结果

尽管此方法需要2个查询并使用一个大于/小于语句,但我认为ist比检索所有数据更快


希望这有帮助

谢谢,但我在“if($time()-$tt>=0)”行中遇到了这个错误“致命错误:函数名必须是字符串”。有什么问题吗?几分钟后我更新了代码并发布了它。你试过新代码了吗。
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