Zend_Date::toString() 输出错误的年份。我的代码或 Zend_Date 中有错误吗?

发布于 2024-08-15 21:48:06 字数 702 浏览 6 评论 0原文

我使用 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 2009
  • yyyy stands for the actual calendar year.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

瀟灑尐姊 2024-08-22 21:48:06

我也遇到过这个问题。

在 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'.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文