2016-03-25 5 views
0

Как я получу номер недели в месяце даты?Как получить номер недели в месяце даты - AS3 (Actionscript 3)

я могу получить номер недели в году ж/getWeekOfTheYear (d: Date), но вычисления на основе всего, что будет трудно - любая помощь очень ценится

Возвращаемое значение Я бы ожидать, как правило, в диапазоне от [ 0 - 4]

+0

Я нашел PHP фрагмент: функция week_number ($ Date = 'сегодня') { возврата CEIL (дата ('J', StrToTime (дата $))/7); } Можно ли это воспроизвести? – user601935

+0

Попытайтесь получить номер недели в год, необходимо вычислить номер недели в месяц ('m1'), а затем получить номер недели первого дня желаемого месяца (' m2'). Затем вычитаем m2 из m1. Вы получите нулевой номер недели в месяц. –

+0

На самом деле все, что вам нужно сделать, это взять день (1-31) и разделить его на 7. Как 'Math.floor (yourDateInstance.date/7);' будет давать неделю (0-4) или использовать Math.ceil за неделю (1-5) – michaPau

ответ

0

Вы должны учитывать месяцы, начиная с середины недели, где, например, 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); 
} 
1

Взгляните на этот ПОДХОД:

Get current calendar week

Используйте функцию WEEK_NUM, чтобы получить номер недели проходящее объект даты, как вы хотели.

Смежные вопросы