用php从mysql数据库中检索datetime对象

1zmg4dgp  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(373)

我有一个关于mysql datetime格式的具体问题,它将日期和时间一起存储在表中,所以我在表中存储了值,现在我想检索这些值,然后将该时间与当前datetime进行比较,但是事情发生了可怕的错误。这就是我到目前为止试过的。。

<?php
    date_default_timezone_set('Asia/Calcutta');
    require_once('connect.php');

    $query="select matchTime from fixture_list where value1='Mumbai'";
    if($result= mysqli_query($con,$query)){
        while($row=mysqli_fetch_assoc($result)){
            print_r($row);
        }
        mysqli_free_result($result);
    }

    //$target = new DateTime('2018-07-27 01:00:00');
    $target = new DateTime($query);
    $now = new DateTime;
    $diff = $target->diff($now);

    if ($target > $now) {
        echo $diff->format('%a days, %h hours, %i minutes to go');
    } 
    else {
        echo $diff->format('%a days, %h hours, %i minutes too late');
    }
?>

我的唯一目的是以字符串形式获得datetime值,该值已经存储在数据库中,并将其传递给$target变量,然后与$now进行比较,这是我在获取“array([matchtime]=>2018-07-27 00:00:00)array([matchtime]=>2018-07-27 00:00:00)array([matchtime]=>2018-07-28 01:00:00)致命错误:未捕获异常“exception”,消息为“datetime::\u construct():无法分析位置0处的时间字符串(从fixture\u列表中选择matchtime):时区在数据库“”中找不到

hgqdbh6s

hgqdbh6s1#

这条线:

$target = new DateTime($query);

应该是:

$target = new DateTime($row['matchTime']);

相关问题