2017-07-25 99 views
1

我試圖在PHP和SQL中的兩個日期之間進行選擇。然而,我的PHP日期打印:SQL/PHP - 在兩個日期之間進行選擇,打印日期爲

July 1, 2017 

July 30, 2017 

的問題是,在我從選擇數據庫,日期,保存這樣 YYYY-MM-DD : 2017-07-012017-07-30

我試圖進行查詢,兩個日期之間進行選擇:

SELECT dl.list_id, dl.id, dl.date, dl.list_name, dl.list_supplier, dls.reference, dls.mawb, dls.shipment, dls.kg 
FROM driving_lists dl LEFT JOIN 
driving_list_shipments dls 
ON dl.list_id = dls.list_id 
WHERE dl.deleted=0 AND dls.kg > 0 AND dl.date between 'FORMAT(July 01, 2017,'yyyy-MM-DD')' and 'FORMAT(July 30, 2017,'yyyy-MM-DD')' 
ORDER BY dl.list_id 

所以,問題是這個:

dl.date between 'FORMAT(July 01, 2017,'yyyy-MM-DD')' and 'FORMAT(July 30, 2017,'yyyy-MM-DD')' 

我怎樣才能通過將其轉換爲格式兩個日期之間選擇,數據庫使用?

+0

試試這個=> UNIX_TIMESTAMP(日期)..在MySQL中 – Kunal

回答

0

嘗試用日期() PHP函數
像這樣

$date1='July 30, 2017'; 
$date1=date('Y-m-d',strtotime($date1)); 
$date2='July 1, 2017'; 
$date2=date('Y-m-d',strtotime($date2)); 

如果打印$date1$date2它看起來像

"2017-07-30" 

"2017-07-01" 
0

您應該使用str_to_date(),如果你想要做的改造在數據庫:

WHERE dl.deleted = 0 AND dls.kg > 0 AND 
     dl.date between str_to_date('July 01, 2017', '%M %d, %Y') and 
         str_to_date('July 30, 2017', '%M %d, %Y') 

注:dl.date應存儲在數據庫中的日期。

相關問題