2013-10-28 3 views
2

это код javscript, который я использовал, чтобы рассчитать неделю нет. с указанной даты .... но вывод, который я получаю, невереннет. недель, полученных за год в javascript

var dayNr = (this.getDay() + 6) % 7; 

    target.setDate(target.getDate() - dayNr + 3); 


    var firstThursday = target.valueOf(); 

    target.setMonth(0, 1); 

    if (target.getDay() != 4) { 
    target.setMonth(0, 1 + ((4 - target.getDay()) + 7) % 7); 
    } 

    return 1 + Math.ceil((firstThursday - target)/604800000); 

Я хочу рассчитать неделю нет. от указанной даты ..... любое другое решение также радушен ... нужно срочно

+2

Возможный дубликат [Показывать номер недели с Javascript?] (Http://stackoverflow.com/questions/7765767/show-week-number-with-javascript) –

+0

@WimOmbelets - вопрос, на который вы ссылались, показывает 31 декабря 2013 года как 53-я неделя. Но на самом деле его первая неделя. Не могли бы вы объяснить? – PythonEnthusiast

ответ

0
function getWeekNumber(d) { 
    // Copy date so don't modify original 
    var d = new Date(d); 
    d.setHours(0,0,0); 
    // Set to nearest Thursday: current date + 4 - current day number 
    // Make Sunday's day number 7 
    d.setDate(d.getDate() + 4 - (d.getDay()||7)); 
    // Get first day of year 
    var yearStart = new Date(d.getFullYear(),0,1); 
    // Calculate full weeks to nearest Thursday 
    var weekNo = Math.ceil((((d - yearStart)/86400000) + 1)/7) 
    // Return array of year and week number 
    return [d.getFullYear(), weekNo]; 
} 

Refrence Answer

+0

может сказать, что такое d? –

+0

@ amit_183 d - дата – Rex

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