title: how to get date for holidays using php
body: <p>For example the:  </p>
  
  <ol>
  <li><em>3rd Monday of January for</em> <strong>Martin Luther King Day</strong>  </li>
  <li><em>3rd Monday of February for</em> <strong>Presidents' Day (Washington's Birthday)</strong>  </li>
  <li><em>Last Sunday of March for</em> <strong>Easter</strong>  </li>
  <li><em>Last Monday of May for</em> <strong>Memorial Day</strong>  </li>
  </ol>
  
  <p>I am trying to get these dates, so that I can mark it on my calendar without manually putting everything for the years to come.</p>
  
  <hr>
  
  <p><strong>MODIFIED ANSWER!!</strong> </p>
  
  <pre><code>$curYir = date("Y");//current year
  
  $MLK = date('Y-m-d', strtotime("january $curYir third monday")); //marthin luthor king day
  $PD = date('Y-m-d', strtotime("february $curYir third monday")); //presidents day
  $Est =  date('Y-m-d', easter_date($curYir))); // easter 
  $MDay = date('Y-m-d', strtotime("may $curYir first monday")); // memorial day
  //("may $curYir last monday") will give you the last monday of may 1967
  //much better to determine it by a loop
        $eMDay = explode("-",$MDay);
        $year = $eMDay[0];
        $month = $eMDay[1];
        $day = $eMDay[2];
  
        while($day &lt;= 31){
            $day = $day + 7;
        }
        if($day &gt; 31)
        $day = $day - 7;
  
        $MDay = $year.'-'.$month.'-'.$day;
  $LD = date('Y-m-d', strtotime("september $curYir first monday"));  //labor day
  $CD = date('Y-m-d', strtotime("october $curYir third monday")); //columbus day
  $TH = date('Y-m-d', strtotime("november $curYir first thursday")); // thanks giving 
  //("november $curYir last thursday") will give you the last thursday of november 1967
  //much better to determine it by a loop
        $eTH = explode("-",$TH);
        $year = $eTH[0];
        $month = $eTH[1];
        $day = $eTH[2];
  
        while($day &lt;= 30){
            $day = $day + 7;
        }
        if($day &gt; 30)
        //watch out for the days in the month November only have 30
        $day = $day - 7;
  
        $TH = $year.'-'.$month.'-'.$day;
  </code></pre>