How to subtract hours from a datetime in MySQL?

Lucas Famelli picture Lucas Famelli · May 16, 2011 · Viewed 89.6k times · Source

I get a datetime field, that's currently in the query as:

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

What I want to do is to subtract 3 hours from that date (GMT issues), but I can't do it in PHP as PHP only knows the date part, not the time.

Answer

Pekka picture Pekka · May 16, 2011

mySQL has DATE_SUB():

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

but would it not be better to try and sort out the underlying time zone issue instead?