Getting the week commencing date and week number using PHP

Getting the week commencing date and week number using PHP

Using php's date function you can get all sorts of date combinations including finding the week commencing date for any date.

The following function takes a date and returns the previous Monday's date.

function last_monday($date) {
    if (!is_numeric($date))
        $date = strtotime($date);
    if (date('w', $date) == 1)
        return $date;
    else
        return strtotime('last monday',$date);
}

Using this function is simple, pass a call to the function inside a date to format the date as desired.

$date = date('Y-m'd');
echo date('jS M', last_monday($date));

To get the week number for the current date is also very simple:

echo date("W");

To get the week number for a custom date, use date combined with strtotime:

$date = '2013-01-10';
echo date('W', strtotime($date));