PHP 日期时间>格式:一年中的星期和年份导致的数字在一起没有意义



我试图在我的代码中获取给定日期的年份和星期:

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

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

December 31, 2018

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

01 , 2018

分别查看每个值,函数是正确的。然而,在一起是令人困惑的。

它似乎将 12 月 31 日视为第一周,因为它落在星期一,所以从技术上讲是正确的,这是 2019 年的第一周。不过,在这种情况下,我希望这一年滚动并阅读2019年。

在这种情况下,我如何解决此问题以仅滚动一年?任何帮助,不胜感激。

您需要使用 ISO-8601 周编号年份,如果您想要 ISO-8601 周的年份,则为 o。 从文档中:

ISO-8601 周编号年份。此值与 Y 相同,不同之处在于,如果 ISO 周数 (W( 属于上一年或下一年,则改用该年份。(在 PHP 5.1.0 中新增(

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

最新更新