Incorrect Time showing on frontend
Maybe try this:

// Example: Assume we have a node with nid 1 which contains a single
// language-neutral date field named field_date.
$node = node_load(1);
$date = $node-&gt;field_date[LANGUAGE_NONE][0];

// Create a date object.
$date_object = new DateObject($date['value'], new DateTimeZone($date['timezone_db']));
// Convert from the database time zone to the user's time zone.
$date_object-&gt;setTimezone(new DateTimeZone($date['timezone']));

// Example: Print a formatted date.
print date_format_date($date_object, 'custom', 'Y m d');


Source: Convert a date field to the correct time zone