Zend_Date :: toString()输出错误的年份。我的代码中的错误,还是Zend_Date?

时间:2009-12-30 02:09:13

标签: zend-framework zend-date

我正在使用Zend_Date设置并获得年份,但未将其设置为正确的年份。我将年份定为2010年,并将年份作为2009年返回。我做错了什么? Zend_Date中有错误吗?

$date = new Zend_Date('2010-01-03', 'YYYY-MM-dd');
echo $date->toString('MMMM d, YYYY');
//outputs January 3, 2009

必须正确设置年份,因为获取日期部分的日期有效:

echo $date->get(Zend_Date::YEAR); //2010

解决方案:

嗯,我让它工作了......你使用小写字母:yyyy

echo $date->toString('MMMM d, yyyy');
  • YYYY代表ISO Year。 2010-01-03是第53周,即ISO年度2009年第7天
  • yyyy代表实际的日历年。

1 个答案:

答案 0 :(得分:12)

我也遇到过这个问题。

在Zend_Date类中,“YYYY”表示“ISO年份”的4位数表示,其中“yyyy”表示“年份”的4位数表示。