Today’s date is 27-01-2014 so I got day name using following function:
$t=date('d-m-Y'); $day = strtolower(date("D",strtotime($t)));
So now the day name is mon
.
How to find that this Monday is the forth Monday of current month? In other words, I am trying to find the 1st, 2nd, 3rd, 4th of a particular day (eg. Monday) of a month?
Advertisement
Answer
Credit for the Math part goes to Jon (above)
In combination with your code, full solution can be implemented as follows
$t=date('d-m-Y'); $dayName = strtolower(date("D",strtotime($t))); $dayNum = strtolower(date("d",strtotime($t))); echo floor(($dayNum - 1) / 7) + 1
or else as a function with optional date
PHP Fiddle here
This just return the number you are requesting.
function dayNumber($date=''){ if($date==''){ $t=date('d-m-Y'); } else { $t=date('d-m-Y',strtotime($date)); } $dayName = strtolower(date("D",strtotime($t))); $dayNum = strtolower(date("d",strtotime($t))); $return = floor(($dayNum - 1) / 7) + 1; return $return; } echo dayNumber('2014-01-27');