我需要从 mysql 数据库中获取日期并打印今天和获取日期之间的差异
Posted
技术标签:
【中文标题】我需要从 mysql 数据库中获取日期并打印今天和获取日期之间的差异【英文标题】:I need to take the date from mysql database and print the difference between today and the fetched date 【发布时间】: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 -- 并在使用此代码后收到此消息
【问题讨论】:
How to calculate the difference between two dates using php?的可能重复 你也可以在你的mysql查询中这样做 【参考方案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);
【讨论】:
以上是关于我需要从 mysql 数据库中获取日期并打印今天和获取日期之间的差异的主要内容,如果未能解决你的问题,请参考以下文章