If I can take a GMT time and use the offset to change it to say, Chicago time. Can't I take the inverse (-1 * gmt_offset) to change it back? it gives me 1969-31-12 23:59:59
???
If you want GMT, use gmdate().
echo gmdate("Y-d-m H:i:s", time());