Jump to content

Caculate what wednesday is it of the month


focus72050

Recommended Posts

Hi everyone,

I am looking for php code that will

return to me whether it is the first, second third or if exists fourth wednesday for the current month,  and by current month the script should decide on its own what the current month is.

Thank you in advance really appreciate it.

[code=php:0]
$weekposA = array(1=>"first", "second", "third", "fourth");
$month = date("F"); //get the month (Januaray to December)
$day = date("j"); //get day of the week 1-31
$weekpos = ceil($day/7); //determine whether it's the 1st, 2nd, ...of the week

$theweeknum = $weekposA[$weekpos];
$todayweek = date("l");

//if($todayweek == "Wednesday")
echo "Today is the " . $theweeknum . " " . $todayweek . " of " . $month;
[/code]

To make it display on Wednesday's only, just uncomment my "if($todayweek == "Wednesday")" out.
to rework extrovertive's response slightly, all you'd have to do to find out which occurrence of the day of the week a certain date is, just run a function like this where you can pass the date to it. then, you've got a very flexible solution that you can use the results in a variety of ways:
[code]
<?php
function getWhichWeek($date = '') {
  $date = empty($date) ? date('Y-m-d') : $date; // default to today
  list($year, $month, $day) = explode('-', $date);
  $res = array(
    'day'  => date('l', strtotime($date)),
    'week' => ceil($day/7)
  );

  switch($res['week']) {
    case 1:
      $res['post'] = 'st';
      break;

    case 2:
      $res['post'] = 'nd';
      break;

    case 3:
      $res['post'] = 'rd';
      break;

    default:
      $res['post'] = 'th';
  }

  return $res;
}

$today = getWhichWeek();
echo "Today is the {$today['week']}{$today['post']} {$today['day']} of the month!";
?>
[/code]

have fun with that!

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.