diff -urpN term_fields_old/views/term_fields_handler_filter_date.inc term_fields/views/term_fields_handler_filter_date.inc
--- term_fields_old/views/term_fields_handler_filter_date.inc	1970-01-01 01:00:00.000000000 +0100
+++ term_fields/views/term_fields_handler_filter_date.inc	2010-05-07 16:36:31.000000000 +0200
@@ -0,0 +1,35 @@
+<?php
+// $Id: term_fields_handler_filter_date.inc $
+
+/**
+ * Filter to handle dates stored as a timestamp.
+ */
+class term_fields_handler_filter_date extends views_handler_filter_date {
+  function op_between($field) {
+    if ($this->operator == 'between') {
+      $a = intval(strtotime($this->value['min'], 0));
+      $b = intval(strtotime($this->value['max'], 0));
+    }
+    else {
+      $a = intval(strtotime($this->value['max'], 0));
+      $b = intval(strtotime($this->value['min'], 0));
+    }
+
+    if ($this->value['type'] == 'offset') {
+      $a = '***CURRENT_TIME***' . sprintf('%+d', $a); // keep sign
+      $b = '***CURRENT_TIME***' . sprintf('%+d', $b); // keep sign
+    }
+    // %s is safe here because strtotime scrubbed the input and we might
+    // have a string if using offset.
+    $this->query->add_where($this->options['group'], "UNIX_TIMESTAMP($field) >= %s", $a);
+    $this->query->add_where($this->options['group'], "UNIX_TIMESTAMP($field) <= %s", $b);
+  }
+
+  function op_simple($field) {
+    $value = intval(strtotime($this->value['value'], 0));
+    if (!empty($this->value['type']) && $this->value['type'] == 'offset') {
+      $value = '***CURRENT_TIME***' . sprintf('%+d', $value); // keep sign
+    }
+    $this->query->add_where($this->options['group'], "UNIX_TIMESTAMP($field) $this->operator %s", $value);
+  }
+}
diff -urpN term_fields_old/views/term_fields.views.inc term_fields/views/term_fields.views.inc
--- term_fields_old/views/term_fields.views.inc	2010-01-22 10:12:38.000000000 +0100
+++ term_fields/views/term_fields.views.inc	2010-05-07 16:10:09.000000000 +0200
@@ -95,7 +95,7 @@ function term_fields_views_data() {
               'handler' => 'term_fields_handler_field_date',
             ),
             'filter' => array(
-              'handler' => 'views_handler_filter_date',
+              'handler' => 'term_fields_handler_filter_date',
             ),
             'sort' => array(
               'handler' => 'views_handler_sort_date',
@@ -139,6 +139,9 @@ function term_fields_views_handlers() {
       ),
       'term_fields_handler_field_date' => array(
         'parent' => 'views_handler_field_date',
+      ),
+      'term_fields_handler_filter_date' => array(
+        'parent' => 'views_handler_filter_date'
       )
     )
   );
