Zend_Date::toString() 输出错误的年份。我的代码或 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 年。 2010 年 1 月 3 日是 ISO 2009 年第 53 周第 7 天yyyy
代表实际日历年。
I'm using Zend_Date
to set and get the year, but it is not being set as the correct year. I set the year as 2010, and it returns the year as 2009. What am I doing wrong? Is there a bug in Zend_Date
?
$date = new Zend_Date('2010-01-03', 'YYYY-MM-dd');
echo $date->toString('MMMM d, YYYY');
//outputs January 3, 2009
The year must be being set correctly because getting the year part of the date works:
echo $date->get(Zend_Date::YEAR); //2010
Solution:
Well I got it to work...You have you use lowercase: yyyy
echo $date->toString('MMMM d, yyyy');
YYYY
stands for the ISO Year. 2010-01-03 is week 53, day 7 of the ISO year 2009yyyy
stands for the actual calendar year.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我也遇到过这个问题。
在 Zend_Date 类中,'YYYY' 表示 'ISO 年份' 的 4 位数字表示,而 'yyyy' 表示 '年份' 的 4 位数字表示。
I've ran into this problem as well.
In the Zend_Date class 'YYYY' means to a 4 digit representation of the 'ISO year' where as 'yyyy' means a 4 digit representation of the 'year'.