2015-09-24 32 views
0

我在將記錄插入到mysql時遇到問題。我擁有的記錄來自一個不同的網站(下載記錄),格式爲.CSV,日期格式爲「2015年12月12日」。我瞭解到PHP或Mysql只接受或理解「YYYY-MM-DD」格式甚至「YYYYMMDD」。MySQL插入之前的PHP收斂日期格式

如何在將它們包含在mysql查詢字符串中之前格式化日期?如何更改或轉換「2015/12/12」安排並將其轉換爲「2015-2-12」?

回答

3

只要使用日期()和的strtotime()函數:

$date = strtotime("2/12/2015"); 
echo date('Y-m-d', $date); 
+0

遺憾錯過的strtotime()發佈,只是更新了它 –

+0

謝謝加布裏埃爾,我試圖在網上搜索,但與關鍵字不幸運。我現在試試這個 –

+0

這個爲我工作到目前爲止:) –

2

使用明確的日期格式:

$dateValue = '2/12/2015'; 
$date = DateTime::createFromFormat('d/m/Y', $dateValue); 
$dateValue = $date->format('Y-m-d'); 

$ DATEVALUE持有轉換後的日期上第一

+0

感謝William,請問你的建議和Gabriel的結果有什麼不同?請原諒我的說法,但如果兩者產生相同的輸出,我可能會與Gabriel一起使用,因爲它更容易記住像我這樣的noob:D –

+0

主要區別在於此處提供的日期格式與讓PHP確定格式並轉換爲unix時間戳。 strtotime http://php.net/manual/en/function.strtotime.php。根據您的需求,這兩者都是準確的實施,它取決於您。除了輸出之外,我還希望定義預期的輸入格式,並且避免使用strtotime,除非這是我想要的輸出:http://www.hashbangcode.com/blog/how-i-learned-stop-using-strtotime -and-love-php-datetime –

+0

對不起,但我無法弄清楚,但這裏返回的日期似乎是不同的日期,格式雖然工作:( –