diff -u -r date/date/date_views.inc date_cb/date/date_views.inc
--- date/date/date_views.inc	2008-09-02 18:34:07.000000000 +0100
+++ date_cb/date/date_views.inc	2008-09-26 14:06:35.000000000 +0100
@@ -61,11 +61,17 @@
   );
   $filters = array(
     'default' => $filter + array(
-      'name' => t('Date'),
+      'name' => t('DateTime'),
       'value' => date_views_handler_filter_date_value_form($field),
       'type' => 'DATE',
       'help' => t($description, array('%option' => t('date'))),
       ),
+    'datepart' => $filter + array(
+      'name' => t('Date Only'),
+      'value' => date_views_handler_filter_date_value_form($field),
+      'type' => 'DATE_ONLY',
+      'help' => t($description, array('%option' => t('date'))),
+      ),
     'year' => $filter + array(
       'name' => t('Year'),
       'type' => 'YEAR',
@@ -211,6 +217,12 @@
         $value = date_format($date, $formats[$filterinfo['type']]);
         $sql = $date_handler->sql_where_extract($filterinfo['type'], $sql_field, $filter['operator'], $value, FALSE);
         break;
+      case 'DATE_ONLY':
+	$granularity = array( "year" => "year", "month" => "month", "day" => "day", "hour" => 0, "minute" => 0, "second" => 0 );
+        $granularity = array_pop(array_filter($granularity));
+        $format = $date_handler->views_formats($granularity, 'sql');
+        $sql = $date_handler->sql_where_format($format, $sql_field, $filter['operator'], date_format($date, $format));
+        break;
       default:
         $granularity = $field['granularity'];
         $granularity = array_pop(array_filter($granularity));
@@ -236,6 +248,23 @@
       }
     }
   }
+  elseif ($filterinfo['type'] == 'DATE_ONLY') {
+    if (!empty($value)) {
+      if (date_is_valid($value, DATE_DATETIME)) {
+        $date = date_make_date($value);
+        if (!empty($adjustment)) {
+          date_modify($date, $adjustment);
+        }
+        $granularity = array( "year" => "year", "month" => "month", "day" => "day", "hour" => 0, "minute" => 0, "second" => 0 );
+        $granularity = array_pop(array_filter($granularity));
+        $format = $date_handler->views_formats($granularity, 'sql');
+        $sql = $date_handler->sql_where_format($format, $sql_field, $filter['operator'], date_format($date, $format));
+      }
+      else {
+        drupal_set_message(t('That is not a valid date.'));
+      }
+    }
+  }
   // Comparing to a YEAR, MONTH, or DAY.
   else {
     $sql = $date_handler->sql_where_extract($filterinfo['type'], $sql_field, $filter['operator'], $value);
@@ -724,4 +753,4 @@
       $date_handler->local_timezone = date_default_timezone_name();
       break;
   }
-}
\ No newline at end of file
+}
