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

And*_*rew 7 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
Run Code Online (Sandbox Code Playgroud)

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

echo $date->get(Zend_Date::YEAR); //2010
Run Code Online (Sandbox Code Playgroud)

解:

好吧,我让它工作......你有你使用小写: yyyy

echo $date->toString('MMMM d, yyyy');
Run Code Online (Sandbox Code Playgroud)
  • YYYY代表ISO年份.2010-01-03是第53周,即ISO 2009年第7天
  • yyyy 代表实际的日历年.

sma*_*007 12

我也遇到过这个问题.

在Zend_Date类中,'YYYY'表示'ISO年'的4位数表示,其中'yyyy'表示'年'的4位数表示.