代码:
$expiration_date = "24th Dec, 2012";
var_dump( date( 'Y-m-d', strtotime( $expiration_date )));;
输出:
string(10) "2011-12-24"
为什么PHP没有正确解析年份(显示2011而不是2012)?
PHP版本:Centos 5.7上的5.2.17
答案 0 :(得分:4)
strtotime()
不支持您的约会顺序(请参阅2 nd table)。请改用DateTime
类:
$date = DateTime::createFromFormat("jS M, Y", "24th Dec, 2012");
var_dump($date->format('Y-m-d')); // string(10) "2012-12-24"
答案 1 :(得分:1)
也许它与$ expiration_date的格式有关。 尝试将月份放在前面。它对我来说很好。
$expiration_date = "Dec 24th, 2012";
答案 2 :(得分:1)
strtotime函数的输入必须位于format strtotime can understand。