如何从特定日期时间计算时间跨度

How to Calculate Timespan from a Specific Datetime

提问人:ArrogantZeus 提问时间:10/3/2023 最后编辑:Ken WhiteArrogantZeus 更新时间:10/3/2023 访问量:25

问:

我正在使用 MySQL 工作台上的数据库,并且我有一个日期时间值:“2021-01-01 00:00:00”。我需要计算此特定日期时间与当前日期和时间之间的时间跨度或差异。理想情况下,我希望结果以各种单位(天、小时、分钟)表示。

SELECT DATEDIFF(DAY, '2021-01-01 00:00:00', GETDATE()) AS days_difference;
日期时间 mysql-workbench

评论

0赞 P.Salmon 10/3/2023
dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html - 注意 mysql 中没有 getdate()。

答:

1赞 Ali Sheikhpour 10/3/2023 #1

DATEDIFF 仅用于计算日期差异。相反,您可以使用 TIMESTAMPDIFF 内置函数,如下所示:

SELECT
  TIMESTAMPDIFF(DAY, '2021-01-01 00:00:00', NOW()) AS days_difference,
  TIMESTAMPDIFF(HOUR, '2021-01-01 00:00:00', NOW()) AS hours_difference,
  TIMESTAMPDIFF(MINUTE, '2021-01-01 00:00:00', NOW()) AS minutes_difference;

有关 TIMESTAMPDIFF: https://www.w3resource.com/mysql/date-and-time-functions/mysql-timestampdiff-function.php 的更多信息