现在创建一个DateTime对象,并从现在开始计算1小时php



我有一些PHP代码:

$time = new DateTime();
$sub = new DateInterval('P1H');
echo $time->sub($sub);

我得到这个错误:

Fatal error: Uncaught exception 'Exception' with message 
'DateInterval::__construct(): Unknown or bad format (P1H)' 
in C:xampphtdocsdailylogtest.php:4 Stack trace: #0 
C:xampphtdocsdailylogtest.php(4): DateInterval->__construct('P1H') 
#1 {main} thrown in C:xampphtdocsdailylogtest.php on line 4

我做错了什么?我怎样才能让它发挥作用?

编辑:我想我实际上会从数据库中提取输入的时间,并检查是否为+1小时。所以,很抱歉没有说清楚。

编辑#2:既然我不能回答我自己的问题。。。我想说的是:

我自己做了一个测试,效果很好!这是代码:

try {
    $time = new DateTime();
    $add = new DateInterval('PT1H');
    $test = new DateTime();
    $ing = new DateInterval('PT1H');
    $time->add($add);
    $test->add($ing);
    if ($time->format('g:i a') == $test->format('g:i a')) {
        echo 'Match';
    }
     else {
        echo 'No match';
    }
}
 catch (Exception $e) {
    echo $e->getMessage();
}

您的DateInterval值有格式问题,还有语法错误:

<?php
$time = new DateTime();
$sub = new DateInterval('PT1H'); // <-- error #1
$time->add($sub);                // <-- error #2
echo $time->format('c');         // Here you can format your time

在操作中查看

试着对MySQL中存储的值运行strtotime,然后将3600添加到其中,并将其与time()进行比较(如果修改后的值小于time(),则需要允许访问)

相关内容

  • 没有找到相关文章

最新更新