Zend framework Zend_Date::toString()输出的年份不正确。我的代码中有Bug,还是Zend_Date?

Zend framework Zend_Date::toString()输出的年份不正确。我的代码中有Bug,还是Zend_Date?,zend-framework,zend-date,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_

我正在使用
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
解决方案: 好吧,我让它工作了……你必须使用小写:
yyy

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

    • 我也遇到了这个问题


      在Zend_Date类中,“yyy”表示“ISO年”的4位表示,而“yyy”表示“年”的4位表示。

      是的……我真的不知道ISO年是什么意思,所以我假设它们几乎相同。我也不是100%确定,所以我将展示一个wikipeida页面: