2015-10-16 181 views
2

嗨,我想做一個db_select比較日期。但是該字段是datetime類型的。我無法弄清楚如何比較兩個日期。來自數據庫的樣本日期如下2015-10-21 00:00:00。任何幫助都會很棒。drupal 7日期時間日期比較

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

回答

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, '<='); 
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();