begin process at 2012 05 28 14:06:36
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Date & Heure

 > OBTENIR LE NOMBRE DE JOURS D'UN MOIS SUIVANT SON ANNÉE

OBTENIR LE NOMBRE DE JOURS D'UN MOIS SUIVANT SON ANNÉE


 Information sur la source

Note :
5 / 10 - par 2 personnes
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Date & Heure Classé sous :année, jours, efficace, nombre, mois Niveau :Débutant Date de création :30/01/2011 Date de mise à jour :30/01/2011 18:15:03 Vu :2 433

Auteur : hugolegrand

Ecrire un message privé
Commentaire sur cette source (7)
Ajouter un commentaire et/ou une note

 Description

Ce script permet à travers une fonction prenant comme argument le numéro du mois dont on veut savoir le nombre de jours et l'année désirée. Le mois doit être passé au format chiffre (0: janvier, 1: février, 2:mars, ...) et l'année au format 4 chiffres classique( 2011, 2012 ,...). Le script  prend en compte les années bissextiles.

Source

  • function NonbreJourMois(mois, annee)
  • {
  • var nbreJour = 0;
  • if (mois <= 6)
  • {
  • if (mois%2 == 0)
  • {
  • nbreJour = 31;
  • }
  • else
  • {
  • nbreJour = 30;
  • }
  • }
  • else
  • {
  • if (mois%2 == 1)
  • {
  • nbreJour = 30;
  • }
  • else
  • {
  • nbreJour = 31;
  • }
  • }
  • if (mois == 1)
  • {
  • if(annee%4==0)
  • {
  • if(annee%100==0)
  • {
  • if(annee%400==0)
  • {
  • nbreJour = 29;
  • }
  • else
  • {
  • nbreJour = 28;
  • }
  • }
  • else
  • {
  • nbreJour = 29;
  • }
  • }
  • else
  • {
  • nbreJour = 28;
  • }
  • }
  • return nbreJour;
  • }
function NonbreJourMois(mois, annee)
{
	var nbreJour = 0;
	
	if (mois <= 6)
	{
		if (mois%2 == 0)
		{
			nbreJour = 31;
		}
		else
		{
			nbreJour = 30;
		}
	}
	
	else
	{
		if (mois%2 == 1)
		{
			nbreJour = 30;
		}
		else
		{
			nbreJour = 31;
		}
	}
	if (mois == 1)
	{
		if(annee%4==0)
{
 	if(annee%100==0)
  	{
    	if(annee%400==0)
     	{
     		nbreJour = 29;
     	}
     	else
     	{
      		nbreJour = 28;
     	}

  	}
    else
    {
   		nbreJour = 29;
  	}
}
else
{
 	nbreJour = 28;
}

	}
	
	return nbreJour;
	
}

 Conclusion

Un script efficace et qui peut toujours servir...


 Historique

30 janvier 2011 18:15:03 :
Une erreur pour les mois plus grand que 6. Normalement plus aucune erreur.

 Sources de la même categorie

NOMBRE DE JOURS, MOIS ET ANNÉES DEPUIS LA NAISSANCE par marcenana
Source avec Zip CALENDRIER ANNUEL UNIVERSEL AVEC SAINTS DU CALENDRIER ET FÊT... par 007Julien
SAINT DU JOUR par tefa24600
Source avec Zip Source avec une capture NIPCLOCK 1.2 par neep
COMPTE À REBOURS POUR ÉVÉNEMENTS À RÉPÉTITION par CSIBern

 Sources en rapport avec celle ci

NOMBRE DE JOURS, MOIS ET ANNÉES DEPUIS LA NAISSANCE par marcenana
ÉCRIRE UN MONTANT MONÉTAIRE SOUS FORME LITTÉRALE par 007Julien
TROUVER LES FACTEURS D'UN NOMBRE par jdmcreator
NOMBRE ALÉATOIRE par gt_371
Source avec Zip TEMPS PASSÉ APRÈS LA CRÉATION DU SITE (JOURS,MOIS,ANNÉES) par DomJ

Commentaires et avis

Commentaire de 007Julien le 30/01/2011 23:27:41

Une variante pour le corps de la fonction :
return Math.round((new Date(annee,mois-(-1),1,0,0)-new Date(annee,mois,1,0,0))/86400000);

Avec un -(-1)pour être certain d'ajouter 1 et un Math.round pour éviter quelques bugs (FireFox affiche notamment 30.95833 pour mars 1900);

Commentaire de 007Julien le 31/01/2011 08:19:07

Autres variantes toujours pour le corps de la fonction

1/- Pour éviter une affreuse division :
var j=28;
while ((new Date(annee,mois,j-(-1))).getMonth()==mois) j++;
return j;

2/- Pour revenir à l'esprit de la proposition initiale :
return mois-1?(30+(mois+(mois<7?1:0))%2):(28+((annee%4==0 && (annee%100!=0 || annee%400==0))?1:0))

3/- Mais est-il vraiment nécessaire d'appeler une fonction pour faire cette soustraction ?

return 32 - new Date(annee,mois,32).getDate();


  

En revenant à l'esprit de la proposition initiale :
return m-1?(30+(m+(m<7?1:0))%2):(28+((a%4==0 && (a%100!=0 || a%400==0))?1:0));

Commentaire de hugolegrand le 31/01/2011 18:58:08

Désolais Julien tu as raison mais j'avoue que mon petit niveau de javascript n'as pas vu tout cela.

Commentaire de 007Julien le 31/01/2011 19:16:13

Non, il n'y a pas de raison d'être désolé ! Tu as fait un très bon exercice de programmation sans faute après avoir vu toutes les exceptions. Retenons simplement qu'il y a souvent plusieurs solutions pour résoudre une question...

Commentaire de hugolegrand le 31/01/2011 19:40:51

Merci, et ce ne sera pas le dernier exo...

Commentaire de 007Julien le 05/02/2011 12:05:58 9/10

Encore plus court ! Qui dit mieux ?
Le nombre de jour d'un mois, c'est le quantième de son dernier jour. Le dernier jour, cela coule de source, c'est celui qui précède le premier jour du mois suivant... Alors inutile de faire une soustraction ou de rechercher d'autres complications :
nbrJrs = new Date(annee,mois+1,0).getDate();

Commentaire de DomBau22 le 17/03/2012 14:50:20 1/10

Je ne vois pas l'intérêt de ce script si ce n'est programmer pour programmer.
Quelque que soit l'année
janvier 31
mars 31
avril 30
mai 31
juin 30
juillet 31
août 31
septembre 30
octobre 31
novembre 30
décembre 31
Le seul mois qui pose problème est février 28 ou 29

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

ajout d'un nombre de jours à une date [ par cmoua ] Excusez-moi de vous embêter à nouveau mais franchement je ne m'en sors pas !Y-a-t il quelqu'un parmi vous qui pourrait me donner un code pour ajouter Afficher le nombre de jour d'un mois en fonction du mois selectionne [ par Monico9385 ] Bonjour tout le monde, alors voila mon probleme: j'ai 2 select, un contenant les mois numerot&#233;s de 01 &#224; 12, et un autre contenant les jour calcul d'un nombre de jours entre deux dates [ par borisV ] Bonjour, je cherche à calculer (et afficher...) un nombre de jours en tapant une date d'arrivée et une date de départ.En fait, il faudrait peut-être s script [ par KHEOPS1982 ] Bonjour &#224; tous,je met ce script dans mon site web mais &#231;a ne marche pas pouvez-vous me dire pourkoi ?voici le script :&lt;script language="J Liste deroulante des mois et années [ par cnguyen ] onjour, J'aimerai qu'on m'eclaircisse la route ^^ Je voudrais lors de mon arrivée sur ma page jsp, que ma liste deroulante des mois m'affiche le mois Liste deroulante des mois et année [ par cnguyen ] onjour, J'aimerai qu'on m'eclaircisse la route ^^ Je voudrais lors de mon arrivée sur ma page jsp, que ma liste deroulante des mois m'affiche le mois Afficher date (mois, année) [ par theseif ] Bonjour à tous, j'utilise ce script http://www.javascriptfr.com//code.aspx?ID=34725 pour renseigner la date dans un formulaire que je récupère sous la Décompte (compte a rebours) qui affiche le nombre de mois, de jour, d'heure, de minutes de seconde qui reste avant un évenement [ par slashf ] salut a tous comme le titre le montre j'ai besoin de créé un compte a rebours qui affiche le nombre de mois, de jour, d'heure, de minutes de seconde q calcul 45 jours fin de mois [ par opbrun ] bonjour, j'utilise ms CRM 4.0 et tente d'utiliser java script pour personnaliser certains formulaires. voici mon problème : onjour, je cherche à ré Appel dynamique de fonction [ par squonk14 ] Bonjour, j'ai une question toute bête. Je voudrais simplifier un code dans lequel j'ai des fonctions qui se ressemblent. Si on resume à l'essentiel,


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales