PHP - 根据星期几计算重复日期?

时间:2012-04-24 15:48:45

标签: php date date-arithmetic

我正在尝试找出如何根据现有日期以特定时间间隔在特定日期重复某些任务。

例如,我有这个:

Date                              Task 
2011-01-12                   MJK-0083

我想:

  1. 根据提供的日期(在本例中为星期三)确定星期几
  2. 确定当月的哪个星期三(在本例中为第2个星期三)
  3. 计算6月的第2个星期三的日期作为此任务的下一个日期
  4. 我一直在看一些例子,但是虽然我可以做些什么,但我似乎无法弄清楚如何做到这一切。例如,我将其用于第1步:

    date('l', strtotime('2011-01-12'))
    

    但是当涉及到第2步和第3步时我迷失了......有人可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

要查明当月的哪个星期三,您可以使用该月的某一天执行此操作

(int)(day_of_month / 7) + (day_of_month % 7 == 0 ? 0 : 1)

因此,对于2012-01-12,你会得到:

(int)(12 / 7) + (12 % 7 == 0 ? 0 : 1) = 1 + 1 = 2 -> second Wednesday