So my dates were not displaying correctly and it turns out that WordPress is to blame.
After checking the data and finding that it was correct, I was confused as to why a wordpress page was displaying the wrong date for a correct unix timestamp.
WordPress was screwing with the timezone setting of PHP. This little factoid took a good 30 minutes for my decaffeinated brain to figure out.
So, here is a small function that will help out displaying a date with the correct info:
/** * Echo's a date with the timezone setting unfuxed * * @param mixed $format * @param mixed $timestamp */ function echo_date($format,$timestamp) { $old_tz = date_default_timezone_get(); date_default_timezone_set(get_option('timezone_string')); echo date($format,$timestamp); date_default_timezone_set($old_tz); }