星期几的PHP日期格式问题

时间:2019-03-07 07:20:09

标签: php date formatting date-formatting php-carbon

我正在为前端提供每周报告。我正在接收日期间隔并返回按W-Y格式分块的数据(例如02-2018)。当我以例如31.12.2018作为间隔的开始日期时,就会出现问题。当我使用W-Y模式格式化该日期时,结果是01-2018,因为31.12.2018作为工作日“属于” 2019,所以当星期数字格式化程序给我01时,但我得到了2018,所以也是如此。但是有一个问题,因为我的数据块必须是连续的,但是现在我的数据看起来像这样:

{
  "01-2018": [...],
  "02-2019": [...],
  "03-2019": [...],
  .....
}

任何建议如何设计所有这些?

2 个答案:

答案 0 :(得分:3)

使用ISO周数时,年份需要使用o格式。来自manual

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

echo (new DateTime('2018-12-31'))->format('W-o');

输出:

01-2019

答案 1 :(得分:2)

使用日期格式为W-o:)

  o:ISO-8601年编号。与Y具有相同的值,除了   ISO周编号(W)属于上一年或下一年,   使用年份代替。 (在PHP 5.1.0中添加)