代码之家  ›  专栏  ›  技术社区  ›  Josh Curren

php日期函数显示错误的周

  •  0
  • Josh Curren  · 技术社区  · 16 年前

    为什么php date(“w”)显示当前周为2?不是应该在第三周吗?

    在PHP文档中,它说:从周一开始的几周。这是否意味着它只是忽略了今年的前三天?

    3 回复  |  直到 16 年前
        1
  •  5
  •   martin clayton egrunin    16 年前

    不, week 2 是正确的。

    周数根据 ISO-8601 标准,星期从星期一开始。 一年中的第一周是一周 包含那一年的第一个 星期四。A中的最高周数 年份是52或53。

        2
  •  1
  •   VolkerK    16 年前

    2010-01-01-2010-01-03是2009-12-28开始的第53周中的几天。

    编辑:示例脚本

    $ts = strtotime('2009-12-27');
    $end = strtotime('2010-01-26');
    
    for($ts=strtotime('2009-12-27'); $ts<strtotime('2010-01-07'); $ts=strtotime('+1 day', $ts)) {
      echo date('Y-m-d W', $ts), "\n";
    }
    

    印刷品

    2009-12-27 52
    2009-12-28 53
    2009-12-29 53
    2009-12-30 53
    2009-12-31 53
    2010-01-01 53
    2010-01-02 53
    2010-01-03 53
    2010-01-04 01
    2010-01-05 01
    2010-01-06 01
    
        3
  •  0
  •   Tyler Carter    16 年前

    我相信这意味着一年的前三天属于去年的第52周。

    推荐文章