Php 计算每月的第三个星期一

Php 计算每月的第三个星期一,php,date,webpage,Php,Date,Webpage,我搜索了又搜索,但似乎找不到任何适合我正在尝试做的事情,我似乎也不知道如何让它工作 以下是总图: 我的电脑俱乐部在每个月的第三个星期一开会,一周后举行俱乐部董事会会议。在我们的俱乐部网站上,他们每月手动更改此日期…:( 我正在尝试使用PHP实现自动化。我有一点运气,但在大多数情况下,它不会出来的权利 下面是我正在使用的代码示例: //Set Default Time Zone date_default_timezone_set('America/New_York'); //Define Var

我搜索了又搜索,但似乎找不到任何适合我正在尝试做的事情,我似乎也不知道如何让它工作

以下是总图: 我的电脑俱乐部在每个月的第三个星期一开会,一周后举行俱乐部董事会会议。在我们的俱乐部网站上,他们每月手动更改此日期…:(

我正在尝试使用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变量会导致实际会议日期出现问题,它会跳到下个月的会议日期,所以我检查了第三个星期二,现在会议日期直到午夜才跳

现在奇怪的是,我在2014年3月30日做这件事,它显示2014年4月21日是下一个会议日期,这是正确的。当时间滚动到午夜00:00,日期更改为2014年3月31日,会议日期更改为2014年5月19日

我在代码的其他几个部分也遇到了一些问题,这些部分做了一些其他的计算,但是我想如果我能把这些记下来,那么我应该能够计算出剩下的部分

有谁能告诉我,我是从哪里脱轨的???

$third_monday=new DateTime(“本月的第三个星期一”);
$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');
//如果日期已过,请获取下个月的第三个星期一 如果($third_mondaymodify(‘下个月的第三个星期一’); } echo$third_monday->格式('lfd,Y');
$third_monday=新的日期时间(“本月的第三个星期一”);
//如果日期已过,请获取下个月的第三个星期一
如果($third_mondaymodify(‘下个月的第三个星期一’);
}
echo$third_monday->格式('lfd,Y');

我对php没有太多的经验,但我把它放在了一起。它已经过测试,看起来很有效

<?php
   date_default_timezone_set('America/New_York');

   $currmonth = date("n");
   $curryear = date("Y");
   $currthirdmon =  date("d", strtotime("third monday", mktime(0,0,0,$currmonth,1,$curryear)));

   if ($currthirdmon < date("d"))
   {
    $nextmeeting = date("l F d, Y", strtotime("third monday", mktime(0,0,0,$currmonth+1,1,$curryear)));
   }
   else
   {
     $nextmeeting = date("l F d, Y", strtotime("third monday", mktime(0,0,0,$currmonth,1,$curryear)));
   }

   print $nextmeeting;
?>

我对php没有太多的经验,但我把它放在了一起。它已经过测试,看起来很有效

<?php
   date_default_timezone_set('America/New_York');

   $currmonth = date("n");
   $curryear = date("Y");
   $currthirdmon =  date("d", strtotime("third monday", mktime(0,0,0,$currmonth,1,$curryear)));

   if ($currthirdmon < date("d"))
   {
    $nextmeeting = date("l F d, Y", strtotime("third monday", mktime(0,0,0,$currmonth+1,1,$curryear)));
   }
   else
   {
     $nextmeeting = date("l F d, Y", strtotime("third monday", mktime(0,0,0,$currmonth,1,$curryear)));
   }

   print $nextmeeting;
?>


check here check here check here为什么要使用“第三个星期三”?发生在我们当中最好的人身上;-)ps:我不是OP;-)哈我应该注意到。你为什么用“第三个星期三”?发生在我们当中最好的;-)ps:我不是OP;-)哈我应该注意到这一点。