PHP日期函数返回错误年
问题描述:
我不知道这一点对我的生活。我有一个需要格式化的日期。页面上有多个日期格式很好。PHP日期函数返回错误年
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".
等,会落后他们都很好。这是玛雅人向我们投掷的一些启示录计划吗? :)
任何想法?我假设有一个简单的答案。
谢谢!
答
使用Y
为一年,不o
。根据date
文档:
o
:ISO-8601年数字。这有相同的值Y,除了如果ISO星期数(W)属于前一年或下一年,这一年来代替。 (在PHP 5.1.0添加)
我刚才看到。我正在使用o试图坚持ISO-8601规则。猜猜这会让人反感。我会改变这一点,谢谢! 2012年的前一年到底是不是第31年登记的原因是什么? – leviathenator 2012-01-12 17:39:05
取决于其平日的31日适逢。 – ceejayoz 2012-01-12 17:55:22