带有周数的PHP日期格式问题

问题描述 投票:-1回答:2

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

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

有什么建议如何设计所有这些?

php date formatting date-formatting php-carbon
2个回答
2
投票

当您使用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
投票

使用日期格式W-o :)

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

© www.soinside.com 2019 - 2024. All rights reserved.