gpt4 book ai didi

php - 计算该月的第三个星期一

转载 作者:行者123 更新时间:2023-12-02 21:29:14 36 4
gpt4 key购买 nike

我搜索了又搜索,但似乎找不到任何适合我想做的事情,而且我似乎不知道如何让它发挥作用。

这是概览:我的计算机俱乐部在每个月的第三个星期一举行 session ,一周后召开俱乐部董事会 session 。在我们的俱乐部网站上,他们每月都会手动更改此日期......:(

我正在尝试使用 PHP 使其自动化。我有一点运气,但大多数情况下结果都不理想。

这是我正在使用的代码示例:

//Set Default Time Zone
date_default_timezone_set('America/New_York');

//Define Variables Needed
$now = date("U");
$currmonth = date("n");
$curryear = date("Y");
$monthyear = date("F Y");
$thirdmon = date('U', strtotime($monthyear.' third monday'));
$thirdtue = date('U', strtotime($monthyear.' third tuesday'));

//Check for current date before or after third monday of the current meeting month
if ($now > $thirdtue) {
$monthyear = date("F Y", strtotime('next month'));
$thirdmon = date('U', strtotime($monthyear.' third monday'));
}

echo date("l F d, Y", $thirdmon);

我添加了 $thirdtue 变量,因为检查 $thirdmon 变量会导致实际 session 日期出现问题,它会跳转到下个月的 session 日期,所以我检查第三个星期二,它不会跳转到现在是 session 日期的午夜。

现在奇怪的是,我在 2014 年 3 月 30 日处理此问题,结果显示 2014 年 4 月 21 日为下一次 session 日期,这是正确的。当时间滚到午夜 00:00 并且日期更改为 2014 年 3 月 31 日时, session 日期更改为 2014 年 5 月 19 日!?!?!

我在执行其他计算的代码的其他几个部分也遇到了问题,但我想如果我能把它记下来,那么我应该能够解决其余的问题。

谁能告诉我我在哪里偏离了轨道?

最佳答案

$third_monday = new DateTime('third monday of this month');

// if date has passed, get next month's third monday
if ($third_monday < new DateTime()) {
$third_monday->modify('third monday of next month');
}

echo $third_monday->format('l F d, Y');

关于php - 计算该月的第三个星期一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22753961/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com