嗨,我的應用程序分析文本文件的日期值以格式存儲在:DDMMMYYYY例如:12MAR2009。如何將格式DDMMMYYYY的日期轉換爲數據庫可存儲日期
我注意到將這個值插入數據庫日期時間值根本不起作用。如何將其轉換爲可輸入數據庫的日期時間值。我的應用程序是在PHP中。
嗨,我的應用程序分析文本文件的日期值以格式存儲在:DDMMMYYYY例如:12MAR2009。如何將格式DDMMMYYYY的日期轉換爲數據庫可存儲日期
我注意到將這個值插入數據庫日期時間值根本不起作用。如何將其轉換爲可輸入數據庫的日期時間值。我的應用程序是在PHP中。
$timestamp = strtotime("12MAR2009");
...
INSERT INTO my_table (..., timestamp) VALUES (..., FROM_UNIXTIME($timestamp))
PHP函數strtotime()
將採取幾乎包含日期/時間值的字符串,並將其轉換爲Unix時間戳。
MySQL函數FROM_UNIXTIME()
將採用unix時間戳並將其轉換爲MySQL的日期時間格式。
像這樣的東西應該將日期轉換爲MySQL's DATETIME format:
$date = new DateTime('12MAR2009', new DateTimeZone('America/New_York'));
$mysql_date = $date->format('Y-m-d H:i:s');
您可以使用strtotime()
,但時區與它的處理是一種痛苦。
大多數DBMS都有函數來解析字符串中的日期。你有沒有考慮過把這個任務交給數據庫? – 2010-08-09 07:56:23