2016-01-03 185 views
-1

我問我的自由職業者將日期轉換在我的原始數據(公告日期:18/09/2015)爲18-SEP-2015年時間戳數據類型

但後來我發現,該應用程序它將讀取此數據庫(使用ODBC)要求日期爲TIMESTAMP格式。 (代碼在PHP)

$text = file_get_contents($name); 
$date = getbetween($text, "Bulletin Date : ", "\n"); 
$date = substr($date, 0, 11); 
$date = explode("/", $date); 
$date = $date[0] . "-" . $date[1] . "-" . $date[2]; 
$date1 = mktime(0, 0, 0, $date[1], $date[0], $date[2]); 
$date = date("Y-m-d H:i:s", $date1); 

而且,在我的MySQL數據庫我已經設置與數據類型DATE域:TIMESTAMP

現在,當我使用上面的代碼我得到「1970-我的數據庫加載數據01-01 01:00:00「用於所有記錄中的日期字段。

爲什麼DB中的日期搞砸了?

+0

你說你「使用上面的代碼在我的數據庫中加載數據」。我解釋這意味着您使用此代碼從數據庫加載數據時,基於代碼我希望代碼將數據從文件加載到數據庫。您能否準確描述您所做的更改以及確切地看到錯誤日期字段的位置? – bytesized

回答

0

你從來沒有明確表示你在使用PHP,但我認爲你是因爲你使用PHPMyAdmin而你的代碼看起來像PHP。

問題2的答案看起來很簡單。如果您需要TIMESTAMP格式的數據,那麼我認爲這意味着您需要PHPMyAdmin中的TIMESTAMP數據類型。

到日期轉換爲格式,你可以使用

$timestamp = mktime($hours, $minutes, $seconds, $month. $day, $year) 
// If the date does not contain a time, set $hours, $minutes, and 
// $seconds to zero: 
// $timestamp = mktime(0, 0, 0, $month. $day, $year) 
$mysql_timestamp = date("Y-m-d H:i:s", $timestamp) 

請參閱TIMESTAMP datatypedate() function的文檔。

+0

我已經實施了您的建議,並根據輸出結果更新了問題。你能告訴我爲什麼我在數據庫中的所有記錄中獲得「1970-01-01 01:00:00」日期? –

相關問題