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;