Порядковый номер недели в месяце

НеделяМесяца = ( День(ЗаданнаяДата) + НомерДняНедели( ПервыйДеньМесяца(ЗаданнаяДата) ) - 2 ) целочисленное_деление_на 7 + 1

Где

ЗаданнаяДата — дата, номер недели которой нужно определить

День() — день месяца. Например День("12.11.2012") = 12

НомерДняНедели() — порядковый номер дня недели, где Понедельник = 1, и т.д.

ПервыйДеньМесяца() — первое число заданного месяца. Например ПервыйДеньМесяца("12.11.2012") = "1.11.2012"

 

Пример на php:

<?php
$count_week_on_month=((int) ((date("j")+date("w", strtotime(date("m") . "/01/" . date("Y")))-2)/7)) + 1;
echo "<br />";
echo $count_week_on_month;
?>