semaines
by toubia95
HTML
<div id="tests">
</div>
JavaScript
var display = document.getElementById("tests");
// Date avec l'année correcte
var dateValide = function(jour, mois, an) {
var resultat = new Date(an, mois - 1, jour);
resultat.setFullYear(an);
return resultat;
}
// Nombre de jours complets depuis le début de l'année
var jourDeAnnee = function (j,m,a) {
return Math.ceil((dateValide(j,m,a) - dateValide(1,1,a)) / (1000 * 60 * 60 * 24)) +1;
}
// Nombre de semaines depuis le début de l'année
var semaineCompleteDeAnnee = function (j,m,a) {
var jourSemaine = dateValide(1,1,a).getDay();
var jourSemaineAlt = (jourSemaine == 0) ? 1 : 8-jourSemaine;
var nombreSemaines = (jourDeAnnee(j,m,a) - jourSemaineAlt) / 7;
var semainesValides = (nombreSemaines > parseInt(nombreSemaines)) ? parseInt(nombreSemaines) + 1 : parseInt(nombreSemaines);
return semainesValides;
}
// Nombre de semaines depuis le début du mois
var semaineCompleteDeMois = function (j,m,a) {
var jourSemaine = dateValide(1,m,a).getDay();
var jourSemaineAlt = (jourSemaine == 0) ? 1 : 8-jourSemaine;
var nombreSemaines = (j - jourSemaineAlt) / 7;
var semainesValides = (nombreSemaines > parseInt(nombreSemaines)) ? parseInt(nombreSemaines) + 1 : parseInt(nombreSemaines);
return semainesValides;
}
// http://www.very-utile.com/calendrier-2016-premier-semestre.php
display.innerHTML += "* jourDeAnnee : "+jourDeAnnee(29,5,2016)+"e jour<br>";
display.innerHTML += "* semaineCompleteDeAnnee : "+semaineCompleteDeAnnee(29,5,2016)+"e semaine<br>";
display.innerHTML += "* semaineCompleteDeMois : "+semaineCompleteDeMois(29,5,2016)+"e semaine<br>";