2012-10-30 39 views
6

我使用php來重新格式化日期並將其發佈到mysql。一切都很好,直到我通過明年的日期。例如Mon, 14 Jan, 2013將被翻譯爲2012-01-16。格式是正確的不是日期,我甚至嘗試改變我傳遞它的格式,仍然沒有改變。下面是它得到Mon, 14 Jan, 2013這裏是處理它的PHP:php strtotime()使用不同日期的日期

$startdate = $_REQUEST['one']; 
$start = date("Y-m-d", strtotime($startdate)); 

任何線索,爲什麼打嗝只發生當我們進入新的一年,甚至過去幾年?

+0

好,_something_不妥加入'星期一,'。 [this](http://codepad.org/BXfxxeX5)雖然工作正常。編輯:它也行不通! – Prasanth

+0

您是否試過'2012年1月14日星期一'?那是過去,它仍然會失敗。 (給你'「2012-01-16」') –

+0

不,今年工作正常 – Osman

回答

6

查看here查看strtotime()的所有有效格式列表。你正在使用的那個不存在。

如果你想使用date_create_from_format代替,方法如下:

date_create_from_format("Mon, 14 Jan, 2013","D, d M, Y") 
+0

什麼會導致它適用於所有其他日期? – Osman

+0

@ Mr.SirKingOsman它不適用於所有其他日期。我剛剛給了你一個例子。 「2012年1月14日星期一」被誤解爲「2012-01-16」。這種字符串無論如何都難以解析,因爲有可能輸入與日期不符的工作日。 –

+0

我看到你來自哪裏,但我控制日期和格式,用戶只是選擇,但我試過這個系統,但我看到它的優點和它的作品,謝謝! – Osman