Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么php计算时间错了?_Php - Fatal编程技术网

为什么php计算时间错了?

为什么php计算时间错了?,php,Php,我正在从数据库中提取存储的日期。在测试时,我使用sql命令将时间提前45分钟,以确保我知道应该显示什么。我使用下面的选项只选择我想要的日期和时间 public function currentJobsList($array) { for ($i =0; $i < count($array);$i++) { if ($array[$i][5] == $this->selectedDay) { if ($array[

我正在从数据库中提取存储的日期。在测试时,我使用sql命令将时间提前45分钟,以确保我知道应该显示什么。我使用下面的选项只选择我想要的日期和时间

public function currentJobsList($array)
{
    for ($i =0; $i < count($array);$i++)
    {
        if ($array[$i][5] == $this->selectedDay)
        {
            if ($array[$i][7] > date('G:i'))
            {
                 $currentJobs [] = $array[$i];
            }
        }
        if (($array[$i][5] == $this->selectedDay) && ($array[$i][5] != date('m/d/Y')) )
        {
            $currentJobs [] = $array[$i];
        }

    }
公共函数currentJobsList($array)
{
对于($i=0;$iselectedDay)
{
if($array[$i][7]>日期('G:i'))
{
$currentJobs[]=$array[$i];
}
}
如果($array[$i][5]==$this->selectedDay)&($array[$i][5]!=date('m/d/Y'))
{
$currentJobs[]=$array[$i];
}
}

我知道时间比我运行命令的时间长,但它在早上没有返回结果。我有军事时间,我认为am/pm格式会出错。事实并非如此。如果我切换逻辑(当前时间小于存储时间,我会在早上得到结果集)。这有什么问题?

应该是
H:i
,而不是
G:i
,因为请记住,您是作为字符串进行比较的。要正确比较,请使用
datetime
对象或时间戳。@Kolink使用H:i无论哪种方式都不会给出结果。您是正确的。实际上,当我将日期从d中拉出时,您和我都是正确的database我将其格式化为字符串。这就是比较失败的原因。我将其从数据库中转换出来以显示它,但我没有意识到对比较的影响。多亏了你们两位,我才能够解决这个简单的难题。我总是可以在需要显示时转换,而不是之前。谢谢你们两位!