drupal 7日期时间比较日期
drupal 7 date time compare between dates
您好,我正在尝试 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)', '<');
您应该可以使用 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();
我已经设法解决了。这里是。将日期转换为时间戳,然后使用函数日期,然后将其作为参数传递。
$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, '<=');
您好,我正在尝试 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)', '<');
您应该可以使用 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();
我已经设法解决了。这里是。将日期转换为时间戳,然后使用函数日期,然后将其作为参数传递。
$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, '<=');