【问题标题】:time difference php Call to a member function format() on string时差php调用字符串上的成员函数格式()
【发布时间】:2023-03-25 13:00:01
【问题描述】:

以分钟和秒为单位计算时间差,但发生错误说致命错误:调用字符串上的成员函数 format()。

 <?php
date_default_timezone_set('Asia/Kolkata');
echo "Time" . date(" h:i:s") . "<br>";
echo "Date " . date("d-m-y") . "<br>";
$now = date("i:s");
echo $now ."<br>";

$nearest = "03:30";
$nearest-> format("%i : %s"); 
echo $nearest  = $nearest->diff($now);
?>

【问题讨论】:

  • $nearest 不是日期时间对象它是一个字符串
  • 试试这个 $nearest = new DateTime("03:30");
  • 我试过但给出警告说 DateTime::diff() 期望参数 1 是 DateTimeInterface。我将两个变量都转换为 DateTime 格式。不工作

标签: php html datetime datetime-format


【解决方案1】:

日期 diff() 预期 DateTime 对象

<?php
    // Set timezone
    date_default_timezone_set('Asia/Kolkata');

    // Current date time
    $now = new DateTime();
    echo "Now: " . $now->format("h:i:s") ."<br>";

    // Date Time to compare
    $nearest = new DateTime("03:30");
    echo "Nearest: ". $nearest->format("h:i:s") ."<br>";

    // Difference between dates
    $difference = $nearest->diff($now);
    echo "Difference: " . $difference->format("%h hours %i minutes %s seconds");
?>

【讨论】:

    猜你喜欢
    • 2017-12-02
    • 1970-01-01
    • 2021-05-16
    • 2016-05-10
    • 2018-08-26
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多