php - 获取一个月中的第一个或最后一个星期五

标签 php datetime

我正在尝试编写这样的日历函数

function get_date($month, $year, $week, $day, $direction)
{
    ....
}

$week 是一个整数(1, 2, 3...),$day 是一天(Sun, Mon, ...)或数字,以更简单的为准。方向有点令人困惑,因为它进行了不同的计算。

举个例子,我们调用

get_date(5, 2009, 1, '太阳', '前进');

它使用默认值,并获取五月的第一个星期日,即 2009-05-03。如果我们调用

get_date(5, 2009, 2, '太阳', '向后');

,它返回 5 月的倒数第二个星期日,即 2009-05-24。

最佳答案

与语言无关的版本:

要获取该月的第一天,请从该月的第一天开始:yyyy-mm-01。使用任何可用的函数来给出与星期几相对应的数字。从您要查找的日期减去该数字;例如,如果该月的第一天是星期三 (2),而您要查找星期五 (4),则从 4 中减去 2,剩下 2。如果答案是否定的,则添加 7。最后将其添加到第一个这个月;对于我的示例,第一个星期五将是第三个。

要获取该月的最后一个星期五,请找到下个月的第一个星期五并减去 7 天。

关于php - 获取一个月中的第一个或最后一个星期五,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/924246/

相关文章:

php - Pspell 不起作用

php - Woocommerce 3中获取产品属性标签名称

javascript - 如何使用颜色选择器作为 HTML 输入元素

java - 将字符串转换为时间,更改时区,然后返回字符串

php - 如何在 php 中找到日期时间类型和当前日期/时间之间的差异?

python - 在 python 错误中舍入时间

MySQL 在一次查询中获取 mindate 和 maxdate

php - 合并数组元素

php - 如何在 Doxygen 中禁用斜杠命令语法

javascript - 如何禁用 ion-datetime 中的特定日期?