2011-08-18 63 views
1

有一些trouslb用的strtotime,它更容易通過實際案例:)PHP:Strtotime/date忽略時區?

date_default_timezone_set('Europe/London');    // Set timezone to local/
echo date("d/m/Y", strtotime("1-6-2003")); // Expected: 01/06/2003 Got: 01/06/2003 
echo date("d/m/Y", strtotime("16-12-2003")); // Expected: 16/12/2003 Got: 16/12/2003 
echo date("d/m/Y", strtotime("10-12-03")); // Expected: 10/12/2003 Got: 03/12/2010 

任何想法如何解決這個問題?我正在使用strtotime來嘗試消除用戶輸入日期格式不同的問題。

謝謝您的閱讀,

Rik。

+0

這不是時區的問題,而是日期格式。 – deceze

回答

0

strtotime不支持那種日期格式。請參閱documentation以獲取支持的格式列表。下次閱讀文檔。

+0

我沒有閱讀文檔,因此使用 - 作爲分隔符而不是/以避免使用美式風格的日期格式。通過做一些檢查和欺騙字符串,並通過strtotime處理之前手動插入缺少的19或20來解決問題:) – Rik