Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
The date filter uses 0 (epoch) as the starting point for date calculations. This is completely incorrect:
$value = intval(strtotime($this->value['value'], 0));
The real example: filtering nodes created in the current year. The obvious filter is:
creation date >= '1/1'
See the result:
strtotime('1/1', 0) = -10800
strtotime('1/1') = 1356984000
Even date offset filter is broken, you can see the difference between the proper calculation and the calculation used by Views module:
print date('c', strtotime('+100 years'));
print date('c', strtotime('now') + strtotime('+100 years', 0));