【问题标题】:PHP Current time in Hour:MinutesPHP 当前时间(小时:分钟)
【发布时间】:2018-01-07 15:39:33
【问题描述】:

我希望有 2 个以小时为单位的当前时间变量:分钟,还有一个具有 +15 分钟的变量。但首先我还必须加上 +6 小时。

例如,现在是2018-01-07 16:35:10。所以首先我增加了+6小时。所以它将是2018-01-07 22:35:10。接下来,我只想提取小时:分钟。

我只想将“22:35”变为变量。

下一个变量,我想要 22:35 +15 分钟,所以是 22:50。

所以我有$dateNow = 22:35$dateThen = 22:50

到目前为止,我已经尝试过获取当前时间和 +6 小时,但它不起作用。错误:Call to a member function format() on integer

$now = strtotime(date("Y-m-d H:i:s")." +6 hours");
$then = $now->format('H:i');
echo $then;

【问题讨论】:

    标签: php date datetime timestamp


    【解决方案1】:

    我认为在这种情况下,使用 PHP 中的 DateTime 类会非常有用。您的代码的问题是 strtotime 返回一个 int 而不是 DateTime 对象。

    我已经修改了你的代码,所以它可以工作:

    $org = new DateTime("2018-01-07 16:35:10");
    $then = $org->add(new DateInterval("PT6H"));
    echo $then->format("H:i"),"<br>";
    $afterThen = $then->add(new DateInterval("PT15M"));
    echo $afterThen->format("H:i");
    

    【讨论】:

    • 谢谢!!!! $a = new DateTime("+360 minutes"); $now = $a-&gt;format('H:i'); echo $now . '&lt;br&gt;&lt;br&gt;'; $b = new DateTime("+375 minutes"); $then = $b-&gt;format('H:i'); echo $then;
    【解决方案2】:

    DateTimeDateInterval 对象的简短解决方案:

    $now = new DateTime();
    $result = $now->add(new DateInterval('PT6H15M'))->format('H:i');
    

    【讨论】:

    • 可恢复的致命错误:DateTime 类的对象无法转换为字符串 i
    【解决方案3】:

    试试这个:

    $time = time() + 3600 * 6; // add 6 hours
    $date = date("H:i", $time); // format date
    $date_plus_15 = date("H:i", $time + 60 * 15); // format date and add 15 minutes
    
    echo "Time: {$date} <br>";
    echo "Time + 15 mins: {$date_plus_15}";
    

    此处示例:https://ideone.com/ZR6cfy

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-20
      • 1970-01-01
      • 2021-03-14
      • 2017-03-28
      • 2020-04-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多