【问题标题】:Find TimeDiff between two dates查找两个日期之间的 TimeDiff
【发布时间】:2018-11-03 22:01:00
【问题描述】:

我有一个 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 中执行此操作?

谢谢, 里巴斯

【问题讨论】:

标签: php mysql sql datediff


【解决方案1】:

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

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

如果要更新列:

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

【讨论】:

  • 为避免出现负值,请确保包含正确的日期顺序。因为datediff('2018-01-01', '2018-01-02'); 将返回-1
  • 我正在使用这个:update client_invoices set x6 = datediff(x4, date_due) 作为 mysql 中的一个事件,但每次更新服务器时,“事件调度程序状态”都会关闭。如何在我的 sql 中直接执行此操作而不安排事件?谢谢,里巴斯
  • @RibAs 。 . .您可以通过数据库接口运行查询,例如 MySQL 附带的 GUI 工具。
  • 我可以使用 phpMyAdmin 吗?你能给我更多关于这方面的信息吗?
猜你喜欢
  • 2020-07-19
  • 1970-01-01
  • 2018-07-25
  • 1970-01-01
  • 1970-01-01
  • 2013-02-05
  • 2014-10-19
  • 1970-01-01
相关资源
最近更新 更多