【问题标题】:I need to take the date from mysql database and print the difference between today and the fetched date我需要从 mysql 数据库中获取日期并打印今天和获取日期之间的差异
【发布时间】:2018-07-17 20:01:18
【问题描述】:
<?
foreach ($results as $data) {
  $date = $data->created;
  $now = new DateTime();
  echo $date->diff($now)->format(" %y years,%d days, %h hours and %i minuts");
?>

我使用此代码从 mysql 表中获取日期并将其打印到 codeigniter 框架视图文件中。我的mysql日期类型是“时间戳”。所以你能帮我打印今天和从 mysql 表中获取的日期之间的差异吗? error msg-Call to a member function diff() on string -- 并在使用此代码后收到此消息

【问题讨论】:

标签: php mysql codeigniter date


【解决方案1】:

您必须将您的created 值转换为日期时间。数据库中的时间戳值类似于"2018-02-02 05:08:32"DateTime 的构造函数可以转换它。因此,您只需使用 new DateTime() 包装您的值:

$date = new DateTime($data->created);
$now = new DateTime();
echo $date->diff($now)->format(" %y years,%d days, %h hours and %i minuts");

【讨论】:

  • 谢谢先生,我纠正了我的错误。非常感谢
【解决方案2】:

您需要先将时间戳转换为 DateTime 对象,然后才能区分:

$date = new DateTime();
$date->setTimestamp($data->created);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-07
    • 1970-01-01
    • 2019-05-11
    • 2011-01-30
    相关资源
    最近更新 更多