【问题标题】:How to determine start of week with php?如何用php确定一周的开始?
【发布时间】:2014-12-07 15:37:29
【问题描述】:

我有一个脚本,它可以通过使用 while 循环来获取一周中的星期一以便能够显示日历,因此它获取该周的星期一,然后列出对应于一周中的一天的 7 个 div。

我认为它正在工作,但今天(星期日)它已经开始列出从明天(星期一)开始的一周,这是为什么?我的代码是:

$days = date("j",strtotime("monday this week"));

那个变量返回 8,意味着 PHP 认为一周从星期日开始?

【问题讨论】:

  • 也许这周从星期日开始?
  • 您可能需要更好地澄清您的问题。首先,您说您希望一周从星期一开始,然后您说它不起作用,因为它从星期一开始列出一周。那么它是什么?
  • @ionutvmi 是的,确实如此。它的索引从 0(星期日)到 6(星期六)。
  • 我认为OP的意思是:他想要的是本周星期一的日期!所以 01.12.2014 但他从下周得到 09.12.2'14!对吗?
  • 可能是这样的 date("j",strtotime("last sunday") + 60*60*24) ?

标签: php date


【解决方案1】:

这应该适合你:

echo $monday = date("j",strtotime('last monday', strtotime('tomorrow')));

输出:

1

【讨论】:

    【解决方案2】:

    你最好依赖ISO8601 standard

    $dt = new DateTime();
    $dt->setISODate($dt->format('o'), $dt->format('W'));
    echo $dt->format('Y-m-j');
    

    demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-15
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多