1

start_date と end_date の 2 つのフィールドを持つテーブルがあります。この形式でデータを表示する必要があります

4 days 12 hours remaining.

id      start_date           end_date
1       2012-12-07 12:00:00  2012-12-14 12:00:00 

どうすればこれを達成できますか。mysql の now() を使用して、残りの日数と時間を確認します。つまり、今日は 2012 年 12 月 10 日なので、今日から終了日までの差を見つける必要があります。

4

2 に答える 2

2

これはあなたを助けるかもしれません:

SELECT
    FLOOR(HOUR(t) / 24) AS days,
    HOUR(t) % 24 hours
FROM (
    SELECT TIMEDIFF('2012-12-07 12:00:00', '2012-12-14 18:00:00') t
) AS t1

ネストされたクエリでは、違いが得られます(時間単位)

于 2012-12-10T09:55:11.977 に答える
0

これが役立つかどうかを確認してください :: 試してくださいTIME_TO_SEC(TIMEDIFF())

select 
TIME_TO_SEC(TIMEDIFF(end_date, start_date))/86400 as days,
TIME_TO_SEC(TIMEDIFF(end_date, start_date))/3600- TIME_TO_SEC(TIMEDIFF(end_date, start_date))/86400 as hours
from
myTable
于 2012-12-10T09:41:55.453 に答える