Apply the timezone offset to my date field I use the Date Module. My contenttype event dates are stored like

field_date['de'][0]['value'] = 2011-12-09T10:40:00 (String, 19 characters )
field_date['de'][0]['value2'] 2011-12-09T13:10:00 (String, 19 characters )
field_date['de'][0]['timezone'] Europe/Berlin (String, 13 characters )
field_date['de'][0]['timezone_db'] UTC (String, 3 characters )
field_date['de'][0]['date_type'] (String, 4 characters ) date | (Callback) date();


How to apply my timezones to the values? When I edit the date on my field_date and also when my dates are displayed, everything is fine. But I have to work with the raw DB values and need to apply the timezone. Doing it by hand with php +1h should work, but then it's summertime again....
This took me a hot minute to figure out...
Use the format_date function, but be sure to specify how the date is stored in the db - usually UTC, and then offset by your date field's stored timezone - usually your drual admin specified default timezone.

foreach ($node-&gt;field_date['und'] as $date) {
  $unixdate = strtotime($date['value'].' '.$date['timezone_db']);
  print format_date($unixdate,'medium','',$date['timezone']);
}