【问题标题】:PHP date formating problem with week numberPHP日期格式问题与周数
【发布时间】:2019-03-07 07:20:09
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    输出:

    01-2019
    

    【讨论】:

      【解决方案2】:

      使用日期格式 W-o :)

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-02-06
        • 2011-11-05
        • 2016-06-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-20
        相关资源
        最近更新 更多