+ if ($op eq "=") {
+ # if we're specifying =, that means we want everything on a
+ # particular single day. in the database, we need to check for >
+ # and < the edges of that day.
+
+ my $daystart = strftime("%Y-%m-%d %H:%M",
+ gmtime($time - ( $time % 86400 )));
+ my $dayend = strftime("%Y-%m-%d %H:%M",
+ gmtime($time + ( 86399 - $time % 86400 )));
+
+ $sb-> _OpenParen;
+
+ $sb->_SQLLimit(
+ FIELD => $meta->[1],
+ OPERATOR => ">=",
+ VALUE => $daystart,
+ @rest,
+ );
+
+ $sb->_SQLLimit(
+ FIELD => $meta->[1],
+ OPERATOR => "<=",
+ VALUE => $dayend,
+ @rest,
+ ENTRYAGGREGATOR => 'AND',
+ );
+
+ $sb-> _CloseParen;
+
+ } else {
+ $value = strftime("%Y-%m-%d %H:%M", gmtime($time));
+ $sb->_SQLLimit(
+ FIELD => $meta->[1],
+ OPERATOR => $op,
+ VALUE => $value,
+ @rest,
+ );
+ }