当前位置:  开发笔记 > 程序员 > 正文

为什么格式化日期会返回错误的年份?

如何解决《为什么格式化日期会返回错误的年份?》经验,为你挑选了1个好方法。

我想在我的页面上打印格式化的日期.我有一个对象日期,我使用$ this-> Time-> format()进行格式化.在12月27日之前一切正常.不幸的是,12月26日之后的所有日期,格式都会改变我的年份数.

这是我的调试($ date)

object(Cake\I18n\Time) {

'time' => '2015-12-30T00:00:00+0000',
'timezone' => 'UTC',
'fixedNowTime' => false

}

这是我的调试($ this-> Time-> format($ date,'YYYY'))

'2016'

我试过使用i18nFormat,但我有同样的问题.这是我的调试($ date-> i18nFormat('YYYY'));

'2016'

谢谢你的帮助



1> ndm..:

i18n日期的格式使用IntlDateFormatter,使用ISO日期格式模式,其中YYYY不仅仅意味着全年,而是全周编号年份,2016因为当天的一周2015-12-30跨越到下一年,或更具体地说,因为那一周包括1月1日仍然是工作日(星期一到星期五),因此它被视为2016根据ISO周规则的第一周.

另见https://en.wikipedia.org/wiki/ISO_8601#Week_dates

您想要使用yyyy,这将返回常规日历年.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有