2011-08-18 62 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