mysql - type - sql date+1 jour




Comment soustraire 3 heures d'un datetime dans MySQL? (2)

Je reçois un champ datetime, qui est actuellement dans la requête comme:

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

Ce que je veux faire est de soustraire 3 heures de cette date (problèmes GMT), mais je ne peux pas le faire en PHP car PHP ne connaît que la partie date, pas le temps.


mySQL a DATE_SUB() :

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

mais ne serait-il pas préférable d'essayer de résoudre le problème de fuseau horaire sous-jacent à la place?


En supposant que vous avez un problème de fuseau horaire et que vous connaissez le fuseau horaire de la source et de la destination, vous pouvez le convertir comme ceci

SELECT DATE_FORMAT(CONVERT_TZ(x.date_entered, 'UTC', 'Europe/Berlin'),
                   '%Y-%m-%d') AS date
FROM x ORDER BY date ASC;




gmt