I would suggest using timestamps throughout. It would mean reworking you code quite a lot and altering your tables but they are a lot easier to work with and quicker to manipulate.
Your time fields need to be of type INT (I go for INT(11) but I don't think they have to be quite that long). Then for manupulating them you can use these functions mktime to generate a timestamp from day, month, year, hour, minute, second values and date for converting a timestamp into a human readable format.
Timestamp is basically the number of seconds that have elapsed since the first epoch (1st January 1970)
HTH
Rob