PHP datetime-> format:“年的周”和“年”的数字互不相同

时间:2018-09-24 20:33:24

标签: php datetime

我试图在代码中减去给定日期的年份和年份:

$dueDate->format('W , Y');

在上面的代码中,duedate是具有以下日期值的datetime对象:

December 31, 2018

当我输出上面指定的格式时,我得到了:

01 , 2018

单独查看每个值,功能是否正确。但是,这在一起很混乱。

似乎正将12月31日作为第一周阅读,因为它是在星期一,所以从技术上讲它是正确的,它是2019年的第一周。但是,在那种情况下,我希望这一年能够过去并阅读2019。

在这种情况下,如何解决这一问题?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

如果您想要ISO-8601周的年份,则需要使用ISO-8601 week numbering year,即o。从文档中:

  

ISO-8601周编号年份。它的值与Y相同,但如果ISO周编号(W)属于上一年或下一年,则使用该年份。 (在PHP 5.1.0中添加)

$dueDate->format('W , o');