comment obtenir le numéro de la semaine de l'année où dimanche est le premier jour d'une semaine en javascript [fermé]


Comment obtenir le numéro de semaine d'une année où le dimanche est le premier jour d'une semaine en javascript, également le numéro d'année fixe?

Par exemple, 2012-12-31 devrait avoir le même numéro d'année et le même numéro de semaine avec 2013-01-01.

J'ai trouvé un extrait pour ce faire, mais la semaine commence toujours à partir du lundi et non du dimanche, comment y remédier?

exports.getYearAndWeek = function(d) {
    // Copy date so don't modify original
    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];
}
Author: guilin 桂林, 2012-09-11

1 answers

La première semaine d'une année, pour les semaines commençant par lundi, est la première semaine qui a un jeudi, comme votre code le suggère.

Si vos semaines commencent par un dimanche, la première semaine sera la première semaine contenant un mercredi.

Si l'année commence jeudi au samedi les jours jusqu'à dimanche, ce sera la dernière semaine de l'année précédente. Si l'année commence le lundi, le mardi ou le mercredi, le dernier dimanche de l'année précédente est le début de la première semaine de ce an.

 0
Author: kennebec, 2012-09-11 03:47:41