首页 > 解决方案 > 查找两个日期之间的 TimeDiff

问题描述

我有一个带有一些列的 MySQL 数据库,其中两个有两个不同的日期。

在站点中,我在表格的两列中有两个日期,但我需要在另一列中计算并重现这两个日期之间的天数。

我找到了这段代码:

?php
$date1 = date_create("2017-04-15");
$date2 = date_create("2017-05-18");

//difference between two dates
$diff = date_diff($date1,$date2);

//count days
echo 'Days Count - '.$diff->format("%a");
?

它有效,但我需要更改此日期并将数据放入我的数据库中。我能解决这个问题吗?

我用这个:

更新 client_invoices 集 x6 = datediff(x4, date_due)

作为 mysql 中的一个事件,但每次他们更新服务器时,“事件调度程序状态”都会关闭。

如何在不安排事件的情况下直接在我的 sql 中执行此操作?

谢谢,里巴斯

标签: phpmysqlsqldatediff

解决方案


在 MySQL 中,您只需使用datediff()

select t.*, datediff(day1, day2) as days_diff
from t;

如果要更新列:

update t
    set diff = datediff(day1, day2);

推荐阅读