php date函数返回错误的一年

时间:2012-01-12 17:29:20

标签: php date

我无法想象我的生活。我有一个需要格式化的日期。页面上有多个日期格式正常。

echo date('M jS o',strtotime('2012-12-31')) //is returning "Dec 31st 2013". 
echo date('M jS o',strtotime('2013-12-31')) //is returning "Dec 31st 2014".
等等,今年的前进总是一年。

date('M jS o',strtotime('2011-12-31')) //returns correctly "Dec 31st 2011". 
date('M jS o',strtotime('2010-12-31')) //returns correctly "Dec 31st 2010".
等等,向后退,他们没事。这是玛雅人向我们投掷的一些世界末日计划吗? :)

有什么想法吗?我假设有一个简单的答案。

谢谢!

1 个答案:

答案 0 :(得分:8)

使用Y表示年份,而不是o。根据{{​​1}}文档:

  

date:ISO-8601年号。它具有与Y相同的值,除了如果ISO周数(W)属于上一年或下一年,则使用该年。 (在PHP 5.1.0中添加)