Вы должны учитывать месяцы, начиная с середины недели, где, например, 1-й четверг.
Получить номер недели месяца 1-го числа минус один. Добавьте это к вашей текущей дате, разделите на 7, поместите его, добавьте один к результату: Это месячная неделя (с нулевым основанием) того дня.
// be carful to provide month zero-based like AS need it to be
private function monthWeekOfDay(year:int, month:int, day:int, weekStartsOnMonday:Boolean = false):int
{
var firstDay:int = new Date(year, month, 1).getDay();
if (weekStartsOnMonday)
firstDay = (firstDay + 6) % 7;
firstDay--;
return Math.floor((new Date(year, month, day).getDate() + firstDay)/7);
}
Я нашел PHP фрагмент: функция week_number ($ Date = 'сегодня') { возврата CEIL (дата ('J', StrToTime (дата $))/7); } Можно ли это воспроизвести? – user601935
Попытайтесь получить номер недели в год, необходимо вычислить номер недели в месяц ('m1'), а затем получить номер недели первого дня желаемого месяца (' m2'). Затем вычитаем m2 из m1. Вы получите нулевой номер недели в месяц. –
На самом деле все, что вам нужно сделать, это взять день (1-31) и разделить его на 7. Как 'Math.floor (yourDateInstance.date/7);' будет давать неделю (0-4) или использовать Math.ceil за неделю (1-5) – michaPau