Accueil > > > CALCUL DU NUMÉRO DE LA SEMAINE
CALCUL DU NUMÉRO DE LA SEMAINE
Information sur la source
Description
Voilà un petit code qui permet de calculer le numéro de la semaine pour une date donnée.
Source
- <html><head>
- <script langage="JavaScript">
- document.writeln(new Date() + " --> " + getWeek ( new Date() ));
- document.writeln("<BR>");
- document.writeln("01/01/2005 --> " + getWeek ( new Date(2005, 0, 1) )) ;
- document.writeln("<BR>");
- document.writeln("01/01/2004 --> " + getWeek ( new Date(2004, 0, 1) )) ;
- document.writeln("<BR>");
- document.writeln("31/12/2004 --> " + getWeek ( new Date(2004, 11, 31) )) ;
- document.writeln("<BR>");
- document.writeln("01/01/2007 --> " + getWeek ( new Date(2007, 0, 1) )) ;
- document.writeln("<BR>");
- document.writeln("08/01/2007 --> " + getWeek ( new Date(2007, 0, 8) )) ;
- document.writeln("<BR>");
- document.writeln("10/01/2005 --> " + getWeek ( new Date(2005, 0, 10) )) ;
- document.writeln("<BR>");
- document.writeln("29/12/2003 --> " + getWeek ( new Date(2003, 11, 29) )) ;
-
- function getWeek ( tDate ) {
- var res = '' ;
-
- //de l'année courante
- var janv1 = new Date ( tDate.getYear(), 0, 1 ) ; //1 janvier
- var dec31 = new Date ( tDate.getYear(), 11, 31 ) ; //31 decembre
- var janv1Num = janv1.getDay() == 0 ? 7 : janv1.getDay() ; //numero du 1 janvier
- var premSem = 7 - janv1Num > 2 ? true : false ; //si la première semaine compte ou pas
- var premLundi = 9 - janv1Num ; //date du premier lundi suivant le 1 janvier
- //nb jour separant la date du 1 janvier
- var nbJour = parseInt((tDate - janv1) / (60 * 60 * 24 * 1000) + 1, 10) ;
- //nb jour dans l'annee
- var nbJourTot = parseInt((dec31 - janv1) / (60 * 60 * 24 * 1000) + 1, 10) ;
- //nombre de semaines dans l'annee
- var nbSem ;
- if (janv1Num == 4 || (janv1Num == 3 && nbJourTot == 366)) { nbSem = 53 ; }
- else { nbSem = 52 ; }
-
- //de l'année précédente
- var janv1Prev = new Date ( tDate.getYear()-1, 0, 1 ) ; //1 janvier
- var dec31Prev = new Date ( tDate.getYear()-1, 11, 31 ) ; //31 decembre
- var janv1NumPrev = janv1Prev.getDay() == 0 ? 7 : janv1Prev.getDay() ; //numero du 1 janvier
- //nb jour dans l'annee
- var nbJourTotPrev = parseInt((dec31Prev - janv1Prev) / (60 * 60 * 24 * 1000) + 1, 10) ;
- //nombre de semaines dans l'annee
- var nbSemPrev ;
- if (janv1NumPrev == 4 || (janv1NumPrev == 3 && nbJourTotPrev == 366)) { nbSemPrev = 53 ; }
- else { nbSemPrev = 52 ; }
-
- //calcul de la semaine
- var nbSemCompl = parseInt((nbJour - premLundi) / 7 , 10) ;
-
- var week = premSem + nbSemCompl + 1 ;
-
- if (nbJour < premLundi) {
- if (premSem) {
- res = '01/' + tDate.getYear() ;
- }
- else {
- res = nbSemPrev + '/' + (tDate.getYear()-1) ;
- }
- }
- else {
- if ((week > 52) && (week > nbSem)) {
- res = '01/' + (tDate.getYear()+1) ;
- }
- else {
- var tmp = '0' + week ;
- res = tmp.substring(tmp.length-2, tmp.length) + '/' + tDate.getYear() ;
- }
- }
-
- return (res) ;
- }
-
- </script>
- </head></html>
<html><head>
<script langage="JavaScript">
document.writeln(new Date() + " --> " + getWeek ( new Date() ));
document.writeln("<BR>");
document.writeln("01/01/2005 --> " + getWeek ( new Date(2005, 0, 1) )) ;
document.writeln("<BR>");
document.writeln("01/01/2004 --> " + getWeek ( new Date(2004, 0, 1) )) ;
document.writeln("<BR>");
document.writeln("31/12/2004 --> " + getWeek ( new Date(2004, 11, 31) )) ;
document.writeln("<BR>");
document.writeln("01/01/2007 --> " + getWeek ( new Date(2007, 0, 1) )) ;
document.writeln("<BR>");
document.writeln("08/01/2007 --> " + getWeek ( new Date(2007, 0, 8) )) ;
document.writeln("<BR>");
document.writeln("10/01/2005 --> " + getWeek ( new Date(2005, 0, 10) )) ;
document.writeln("<BR>");
document.writeln("29/12/2003 --> " + getWeek ( new Date(2003, 11, 29) )) ;
function getWeek ( tDate ) {
var res = '' ;
//de l'année courante
var janv1 = new Date ( tDate.getYear(), 0, 1 ) ; //1 janvier
var dec31 = new Date ( tDate.getYear(), 11, 31 ) ; //31 decembre
var janv1Num = janv1.getDay() == 0 ? 7 : janv1.getDay() ; //numero du 1 janvier
var premSem = 7 - janv1Num > 2 ? true : false ; //si la première semaine compte ou pas
var premLundi = 9 - janv1Num ; //date du premier lundi suivant le 1 janvier
//nb jour separant la date du 1 janvier
var nbJour = parseInt((tDate - janv1) / (60 * 60 * 24 * 1000) + 1, 10) ;
//nb jour dans l'annee
var nbJourTot = parseInt((dec31 - janv1) / (60 * 60 * 24 * 1000) + 1, 10) ;
//nombre de semaines dans l'annee
var nbSem ;
if (janv1Num == 4 || (janv1Num == 3 && nbJourTot == 366)) { nbSem = 53 ; }
else { nbSem = 52 ; }
//de l'année précédente
var janv1Prev = new Date ( tDate.getYear()-1, 0, 1 ) ; //1 janvier
var dec31Prev = new Date ( tDate.getYear()-1, 11, 31 ) ; //31 decembre
var janv1NumPrev = janv1Prev.getDay() == 0 ? 7 : janv1Prev.getDay() ; //numero du 1 janvier
//nb jour dans l'annee
var nbJourTotPrev = parseInt((dec31Prev - janv1Prev) / (60 * 60 * 24 * 1000) + 1, 10) ;
//nombre de semaines dans l'annee
var nbSemPrev ;
if (janv1NumPrev == 4 || (janv1NumPrev == 3 && nbJourTotPrev == 366)) { nbSemPrev = 53 ; }
else { nbSemPrev = 52 ; }
//calcul de la semaine
var nbSemCompl = parseInt((nbJour - premLundi) / 7 , 10) ;
var week = premSem + nbSemCompl + 1 ;
if (nbJour < premLundi) {
if (premSem) {
res = '01/' + tDate.getYear() ;
}
else {
res = nbSemPrev + '/' + (tDate.getYear()-1) ;
}
}
else {
if ((week > 52) && (week > nbSem)) {
res = '01/' + (tDate.getYear()+1) ;
}
else {
var tmp = '0' + week ;
res = tmp.substring(tmp.length-2, tmp.length) + '/' + tDate.getYear() ;
}
}
return (res) ;
}
</script>
</head></html>
Conclusion
S'il y a des bugs n'hesitez pas
Sources du même auteur
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
trouver une date à partir du numéro de semaine [ par khmerpower ]
je cherche à faire un script où à partir du numéro de semaine je peux sortir la date de début de semaine et la date de fin de semaine.Je sais que c'es
un script dans une page html pour un calcul simple avec saisie de l'utilisateur [ par lemasque49 ]
si quelqu'un peut me dire comment faire un javascript qui me permet d'avoir cinq fenêtre dans lesquelles j'aurais 4 variables et un résultat et dans l
Comment faire ce script ? A l'AIDE [ par lemasque49 ]
J'ai fait une page sur laquelle j'ai des champs de saisies et des calculs intermédiaires pour afficher un résultat (calcul simple)Je voudrais y introd
CodeS-SourceS de la semaine [ par MaitreJack ]
Je souhaite transmettre une demande de correctionà Nix, le Webmestre de CodeS-SourceS.Bonjour,Le CodeS-SourceS de la semaine que je reçois contientdes
Moteur de calcul sur un formulaire [ par twentyseven ]
Bonjour,Je souhaite effectuer des claculs (+, *, % ...) sur des formulaires représentant des devis, factures...Le nombre de calculs étant important, j
validité d'un numéro siren [ par bob2bob ]
Slt.Je cherche à contrôler la validité d'un numéro siren dans un formulaire. J'ai trouvé ce script (ci-dessous), mais il semble rejetter TOUS les numé
Comment adapter la photo du mois en photo de la semaine [ par arnaud d ]
Hello,Tout d'adord merci pour tout ... !!!P'tite question :J'ai mis en place le script permettant d'avoir une photo différente chaque mois, ici :http:
calcul champs texte [ par alahyaneali ]
BonjourJ'ai des champs texte dont les nom sont;txtQte1,txtQte2,txtQte3,txtQte4...txtQteX;pareil pourtxtPrix1,txtPrix2,txtPrix3,txtPrix4...txtPrixX;je
calcul de prix dans un formulaire multiple !! [ par pumbaa ]
Bonjour a tous <P c
Recharger une page automatiquement en prenant en compte le paramètres modifiés! [ par lambrosx ]
Bonjour à tous, je débute totallement en JAVASCRIPT. Je fais un petit bout de programme en HTML et PHP, il permet de lister des palettes en
|
Derniers Blogs
[MIX 2010] - KEYNOTE DAY 2 ONLINE : WINDOWS INTERNET EXPLORER 9, JQUERY, ODATA ET DALLAS CTP2 ![MIX 2010] - KEYNOTE DAY 2 ONLINE : WINDOWS INTERNET EXPLORER 9, JQUERY, ODATA ET DALLAS CTP2 ! par redo
Dans la lignée du premier keynote, retrouvez la vidéo du second keynote en ligne : Visionnez la vidéo à l'url suivante : http://www.microsoft.com/presspass/events/mix/VideoGallery.aspx Vous y retrouverez ainsi les speakers Scott Guthrie, Dean Hachamovitch...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - RETOUR D'EXPéRIENCE DéVELOPPEMENT SEESMIC SUR WINDOWS PHONE 7[MIX 2010] - RETOUR D'EXPéRIENCE DéVELOPPEMENT SEESMIC SUR WINDOWS PHONE 7 par redo
En avant première, Loic le retour d'expérience de Loïc Le Meur du portage de l'application http://seesmic.com/ sur plateforme Windows Phone 7 . c'était d'ailleurs une des rares opportunités de tester, voir toucher le nouveau device . voyez par vous-même :...
Cliquez pour lire la suite de l'article par redo [MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ![MIX 2010] - LE KEYNOTE DAY 1 DISPONIBLE ONLINE ! par redo
Si tout comme moi, vous avez manqué de peu le premier keynote du Microsoft Mix 2010, je vous invite à prendre deux heure et le consulter ci-dessous . Visionnez le Keynote à l'url suivante : http://www.microsoft.com/Presspass/events/mix/videoGallery.aspx?c...
Cliquez pour lire la suite de l'article par redo VISUAL STUDIO TALK SHOW: EF4VISUAL STUDIO TALK SHOW: EF4 par Matthieu MEZIL
La semaine dernière, j'étais à Montréal pour y animer des conférences sur Entity Framework. J'en ai profité pour enregister un podcast Visual Studio Talk Show que vous pouvez retrouver ici ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [MIX 2010] - WINDOWS PHONE 7 EN SUPER STAR DU MICROSOFT MIX 2010 ![MIX 2010] - WINDOWS PHONE 7 EN SUPER STAR DU MICROSOFT MIX 2010 ! par redo
Me voici enfin arrivé au Microsoft Mix 2010, je dois vous avouer être arrivé un peu plus tard que d'habitude, ce qui explique que je n'ayez vu aucune info passer quant au premier keynote . certains événements sont plus importants que tout, ce qui était mo...
Cliquez pour lire la suite de l'article par redo
Logiciels
Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods Konvertor (4.00)KONVERTOR (4.00)Le logiciel est un gestionnaire multimedia affichant, jouant et convertissant plus de 2000 format... Cliquez pour télécharger Konvertor
|