I am trying to grasp how the time functions work, but to no avail. I need to understand what mktime() and the others (http://www.php.net/date )returns with no arguments and with arguments. From what i read my offset to GMT is -0500 which is 5 hours behind GMT time. now when i run mktime() on my server( is -0500) i recieve a number that is larger than what gmmktime() returns. why? does mktime() add my offset to gmmktime()? does gmmktime() return the number of seconds since jan 1 1970 12am? what i am trying to do is store the users local datetime in mysql, the field is of type DATETIME. then when i wanna compare that time to another DATETIME field i wanna covert both DATETIMES to GMT TIME before i do the comparison.