2013-10-17 37 views
0

我有一個循環,在它的日期是以不同的格式,像一些值將會像'10-13-2013 04:31'和一些它就像'2013-10-14T22:14:40-0700'。我試圖將它作爲日期時間/時間戳列的值存儲在數據庫中,但第一種格式爲10-13-2013 04:31的失敗。所以我試圖用strtotime()將它轉換成UNIX時間戳。它正在爲某些值工作,併爲'10-13-2013 04:31'等值存儲零。我認爲這是因爲它正在考慮第二個值作爲月,所以失敗。我的代碼如下:strtotime()不轉換爲時間戳

foreach($reports as $report){ 
    echo strtotime($report->transactionDate); 
} 

回答

2

strtotime()無法解析mm-dd-yyyy格式。相反,你應該使用DateTime::createFromFormat(),像這樣:

$date = '10-13-2013 04:31'; 
$obj = DateTime::createFromFormat('m-d-Y H:i', $date); 
$date = $obj->format('Y-m-d H:i:s');