尝试确定 PHP/MySQL 中的日期差异并传递给数据表

Trying to determine Date Difference in PHP/MySQL, and pass to Datatable

我有一个 SQL table(事件),其中有一个日期字段(事件日期)。 我有一个 Datatables 实例,我想在其中显示今天日期和事件日期之间的差异。

在最基本的层面上,我试图这样做:

nestedData[] = date_diff(date("Y-m-d"), $row['eventdate']);

我的想法是将今天的日期和事件日期传递给 date_diff 函数,结果将添加到 nestedData[]。当我这样做时,我在数据 table 页面上收到错误消息。

我也试过:

nestedData[] = date_diff(date_create(date("Y-m-d")), $row['eventdate'];

我想我可能需要创建一个日期实例,这可能就是问题所在。没有变化。

然后我尝试测试将日期发送回数据table,看看发生了什么。

$today = date_create(date("Y-m-d"));
$todayii = $today->format('Y-m-d');

nestedData[] = $todayii;

当我使用它时,我正确地在我的数据中显示了今天的日期 (ccyy-mm-dd)table。

如果我将其更改为:

$today = date_create(date("Y-m-d"));

nestedData[] = $today;

datatable 字段填充了 [object Object]

而不是今天的日期

我想最终我的问题是:我需要将什么传递给 date_diff() 才能取回该值?我应该传递一个 date_create() 对象吗?我需要在事件日期值上尝试 date_create() 吗?

我试过:

$nestedData[] = date_diff(date_create(date('Y-m-d')), date_create($row["eventdate"])); 

但这也返回了 [object Object]

我确定这真的很简单,但我已经研究了很长时间并尝试了很多东西,我不确定下一步该尝试什么。

谢谢

$timestamp = strtotime($row['eventdate']);
$databasedate= date('d-m-Y', $timestamp);

$currentserverdate=date('d-m-Y')

nestedData[] = date_diff($currentserverdate, $databasedate);

我花了一段时间才弄明白这一点,但我终于能够做到我想要的。

$d1 = new datetime($row["eventdate"]);
$d2 = new datetime(date('Y-m-d'));
$interval = $d2->diff($d1);
$iDays = $interval->days;
$nestedData[] = $iDays;

虽然没什么大不了的,但我最后需要弄清楚的是如何在 $d1 (eventdate) 过去时获得负号。可能不会太难解决,而且对我正在做的事情并不重要。