Drupal Time Zone Problem
This is why when viewing data out of a Drupal database you should always use the provided wrapper functions. Because the timezone is applied at runtime and not stored in the database, which makes sense because Drupal allows for users to be "part of a timezone" and format their dates based on such.

So for you to get the field rendered just:

render(field_view_field('node', $node, 'field_date_name'));


More on this function can be found here.