If you are doing date-time math in mysql, use mysql's built-in functions.
However, if most of your processing is in PHP, then it is much more efficient to store time in the database as INT - do the math as needed, format it once at output time. Many advantages including consistent timezone functions.
I generally pre-process my queries in PHP, so the database gets something like
select * from table where mytime between 1389404807 and 1409404807
instead of the more convoluted date_sub() functions. Converting back and forth between human-readable dates and the underlying integer formats just to knock off an hour is just silly.