使用时间时如何避免歧义


How to avoid ambiguity when using strtotime

m/d/y 或 d-m-y 格式的日期通过查看 各个组件之间的分隔符:如果分隔符是 斜杠 (/),则假设为美国 m/d/y;而如果 分隔符是破折号 (-) 或点 (.),然后是欧洲 d-m-y 格式 是假设的。

我需要从格式为 MM-DD-YYYY HH:MM:SS 的日期获取 unix时间戳根据 php.net 文档,如果日期分隔符是破折号 (-),则假定DD-MM-YYYY格式会返回无效的时间戳。

在 PHP 5.2x 或任何其他解决方法中是否有替代strtotime()

破折号替换为斜杠:

strtotime(str_replace('-', '/', "08-10-2012 09:54:00"));