PHP: 获取当月的星期几

PHP: get weekday number of the month

我正在寻找与

相反的功能
strtotime("third monday");

即一个函数,它被提供一个时间戳,并将 return 这个月的星期几。

所以如果今天是 2016 年 7 月 18 日,理想情况下函数应该 return“3”(即 7 月的第 3 个星期一)。

我可以使用 date("D", [timestamp]) 获取工作日本身,但我不确定如何计算它实际上是本月的第三个。

以前有没有人试过这样做?

你应该看看 Carbon class。它将日期和时间功能扩展到基本上您需要的一切,包括人类可读的时间戳(即“5 分钟前”)

这两个对您有用 - 每月的第几天和第几周。

var_dump($dt->dayOfWeek);                                    // int(3)

var_dump($dt->weekOfMonth);                                  // int(1)

http://carbon.nesbot.com/docs/#api-getters

您需要验证您是否在有效的日期范围内工作,但这是一项相对简单的任务:

$today = date('d', time());
echo 1 + floor(($today - 1) / 7); // nth day of month