76

日時フィールドが表示されます。これは現在、次のようにクエリに含まれています。

SELECT DATE_FORMAT(x.date_entered, '%Y-%m-%d') AS date FROM x ORDER BY date ASC

私がやりたいのは、その日付から3時間を引くことです(GMTの問題)が、PHPは時刻ではなく日付の部分しか知らないため、PHPではそれを行うことができません。

4

3 に答える 3

138

mySQLにはDATE_SUB()

SELECT DATE_SUB(column, INTERVAL 3 HOUR)....

しかし、代わりに根本的なタイムゾーンの問題を解決しようとする方が良いのではないでしょうか。

于 2011-05-16T16:11:23.100 に答える
7

タイムゾーンに問題があり、送信元と宛先のタイムゾーンがわかっている場合は、次のように変換できます。

SELECT DATE_FORMAT(CONVERT_TZ(x.date_entered, 'UTC', 'Europe/Berlin'),
                   '%Y-%m-%d') AS date
FROM x ORDER BY date ASC;
于 2016-08-11T14:51:36.373 に答える
0

通常の選択クエリ。 ここに画像の説明を入力してください

MySQLでDATE_ADD()関数を適用すると

select lastname, 
    date_add(changedat, interval -24 hour) as newdate
from employee_audit;

lastnamechangedatはフィールド名で、employee_auditはテーブル名です。 ここに画像の説明を入力してください

于 2021-10-03T14:10:15.330 に答える