drupal 7日期时间比较日期

时间:2015-10-16 11:36:30

标签: php drupal drupal-7

您好我正在尝试使用db_select来比较日期。但是该字段的类型为datetime。我无法弄清楚如何比较两个日期。数据库的样本日期如下:2015-10-21 00:00:00。任何帮助都会很棒。

$query->condition('dp.field_parution_value', 'DATE(2015-08-01)', '>');
$query->condition('dp.field_parution_value', 'DATE(2015-12-31)', '<');

2 个答案:

答案 0 :(得分:1)

我设法解决了这个问题。这里是。将日期转换为时间戳,然后使用函数日期,然后将其作为参数传递。

$query->fields('fp', array('field_parution_value'));
$start = date('Y-m-d H:i:s', $timestamp_start);
$end = date('Y-m-d H:i:s', $timestamp_end);
$query->condition('fp.field_parution_value', $start, '>');
$query->condition('fp.field_parution_value', $end, '<=');

答案 1 :(得分:0)

你应该可以使用BETWEEN运算符来完成它。我不确定Drupal是否支持将DATE()闭包作为参数 - 但你可以改用unix时间戳。

$test = db_select('node', 'n');
$test->fields('n');
$test->condition('created', array(strtotime('2015-01-01'), strtotime('2016-01-01')), 'BETWEEN');
$result = $test->execute();