una sumar restar horas hora fechas fecha dias mysql datetime gmt

sumar - restar timestamp en mysql



¿Cómo restar 3 horas de una fecha y hora en MySQL? (2)

Obtengo un campo de fecha y hora, que se encuentra actualmente en la consulta como:

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

Lo que quiero hacer es restar 3 horas de esa fecha (problemas GMT), pero no puedo hacerlo en PHP ya que PHP solo conoce la parte de la fecha, no la hora.


mySQL tiene DATE_SUB() :

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

pero ¿no sería mejor tratar de resolver el problema subyacente de la zona horaria?


Suponiendo que tiene algún problema con la zona horaria y conoce la zona horaria de origen y destino, puede convertirla como tal

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