--- date_api_elements.inc	2008-05-28 12:10:40.000000000 +0200
+++ date_api_elements.inc	2008-05-31 22:23:02.000000000 +0200
@@ -456,10 +456,11 @@
   }
   // If that didn't work, try strtotime().
   else {
-   $date = strtotime($input, 0);
-   if (date_is_valid($date, DATE_UNIX)) {
-     return date_convert($date, DATE_UNIX, DATE_DATETIME);
-   }
+    // A wrapped strtotime, that respects desired timezone (and handles lots of input formats)
+    $date = date_create($input, timezone_open($element['#date_timezone']));
+    if (date_is_valid($date, DATE_OBJECT)) {   
+      return date_format($date, DATE_FORMAT_DATETIME);
+    }
   }
   return NULL;
 }
