2013-03-05 84 views
2

我環顧四周,但不斷收到錯誤。從一個字符串轉換爲一個日期在php

我有以下字符串:

$date = "25 Jan 2013 07:30 PM"; 

,但我需要將其添加到SQL作爲單獨的日期和時間字段。任何建議如何將它轉換爲日期而不是字符串?當我嘗試使用類似

strtotime($date); 

我結束了:

1359142200 
+0

爲什麼你把它寫成'$ date =「2013年1月25日07:30 PM」;'首先呢? – 2013-03-05 16:06:47

+1

你最終得到的是一個時間戳。查看PHP的'date()'函數進行格式化。 – BenM 2013-03-05 16:07:02

+0

@aguyfromherehere它來自csv報告 – 2013-03-05 16:57:30

回答

4

選項1:

$date = date("Y-m-d", strtotime("25 Jan 2013 07:30 PM")); 
$time = date("H:i:s", strtotime("25 Jan 2013 07:30 PM")); 

選項2

$datetime = DateTime::createFromFormat("j M Y H:i A", "25 Jan 2013 07:30 PM"); 
$date = $datetime->format("Y-m-d"); 
$time = $datetime->format("H:i:s"); 
+0

謝謝,完美工作 – 2013-03-05 16:58:00

1

爲了達到最佳效果,轉換$dateDateTime物體DateTime::createFromFormat然後用DateTime::format得到的值的不同字段。

例子:

$dt = DateTime::createFromFormat("d M Y H:i A", "25 Jan 2013 07:30 PM"); 

$date = $dt->format("Y-m-d"); 
$time = $dt->format("H:i:s"); 
-1

如果你想把它當作一個時間戳然後strtotime()是PHP函數的使用方法: - http://php.net/manual/en/function.strtotime.php

如果你想在一個MySQL的日期格式然後strtotime()結合date()將是這樣的答案: -

$db_date = date("Y-m-d H:i:s", strtotime($date));