1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| var MONTHS_LUT = [ 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Aôut', 'Septembre', 'Octobre', 'Novembre', 'Décembre' ];
function CALENDRIER(month) {
// Check input
if (month < 1 || month > 12) {
return '1 - 12 attendu';
}
// Generate dates
var results = new Array(6); // a month may span on 6 weeks
for (var i = 0; i < results.length; ++i) {
results[i] = new Array(7);
}
// Compute number of days in month
// See https://stackoverflow.com/questions/1184334/get-number-days-in-a-specified-month-using-javascript
var date = new Date(2019, month, 0);
var daysCount = date.getDate();
// Compute first day of the month
// According to https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Objets_globaux/Date/getUTCDay
// 0 should be Sunday
// Tests show that 0 is Monday...
date = new Date(2019, month - 1, 1);
var firstDay = date.getUTCDay();
for (var i = 0; i < daysCount; ++i) {
var j = i + firstDay;
var week = Math.floor(j / 7);
var offset = j % 7;
results[week][offset] = i + 1;
}
// Add days
results.unshift(['Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche']);
// Add month
results.unshift(MONTHS_LUT[month - 1]);
return results;
} |
Partager