--- orig/event.module	2007-07-12 16:54:59.000000000 +0200
+++ event.module	2007-09-21 20:50:22.000000000 +0200
@@ -223,6 +223,12 @@ function event_admin_overview_settings()
     '#maxlength' => 5,
     '#size' => 2,
     '#description' => t('Limit the amount of events displayed in the upcoming events block by this amount.'));
+  $form['event_upcoming_time_display'] = array(
+    '#type' => 'radios',
+    '#title' => t("Event's time display inside upcoming events block"),
+    '#default_value' =>  variable_get('event_upcoming_time_display', 'timeleft'),
+    '#options' => array('timeleft' => t('Time left'), 'plain' => t('Plain date/time')),
+    '#description' => t("Choose how the start time of events should be displayed in the upcoming events block. Plain date/time might be more friendly for some end-users, but only if the event's timezone is obvious."));
 
   $form['event_overview'] = array(
     '#type' => 'radios',
@@ -1830,24 +1836,31 @@ function event_block_upcoming($limit = 6
 
     if ($node->status) {
       if ($node->event_start >= $time) {
-        $minutesleft = floor(($node->event_start - $time) / 60);
-        if ($minutesleft >= 0 && $minutesleft < 60) {
-          $timeleft = format_plural($minutesleft, '1 minute', '@count minutes');
-        }
-        else if ($minutesleft >= 60 && $minutesleft < (24 * 60)) {
-          $timeleft = format_plural(floor($minutesleft / 60), '1 hour', '@count hours');
-        }
-        else if ($minutesleft >= (24 * 60)) {
-          $days = floor($minutesleft / (24 * 60));
-          // hours remainder
-          $hours = ($minutesleft % (24 * 60)) / 60;
-          // hours left in the day
-          $hours_left = 24 - date('G', time());
-          // see if the remainder of hours on the event date is greater than the hours left in today, if so increase the days by one so that the days remaining mimics the date rather than how many 24 hour periods there are between now and then.
-          if ($hours > $hours_left) {
-            $days++;
+        if (variable_get('event_upcoming_time_display', 'timeleft') == 'timeleft') {
+          // Time left display
+          $minutesleft = floor(($node->event_start - $time) / 60);
+          if ($minutesleft >= 0 && $minutesleft < 60) {
+            $timeleft = format_plural($minutesleft, '1 minute', '@count minutes');
+          }
+          else if ($minutesleft >= 60 && $minutesleft < (24 * 60)) {
+            $timeleft = format_plural(floor($minutesleft / 60), '1 hour', '@count hours');
+          }
+          else if ($minutesleft >= (24 * 60)) {
+            $days = floor($minutesleft / (24 * 60));
+            // hours remainder
+            $hours = ($minutesleft % (24 * 60)) / 60;
+            // hours left in the day
+            $hours_left = 24 - date('G', time());
+            // see if the remainder of hours on the event date is greater than the hours left in today, if so increase the days by one so that the days remaining mimics the date rather than how many 24 hour periods there are between now and then.
+            if ($hours > $hours_left) {
+              $days++;
+            }
+            $timeleft = format_plural($days, '1 day', '@count days');
           }
-          $timeleft = format_plural($days, '1 day', '@count days');
+        }
+        else {
+          // Plain date/time display
+          $timeleft = format_date($node->event_start, 'small', '', $node->start_offset);
         }
       }
       else {
