Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Contribuez
Contribuez Proposez vos articles, cours, tutoriels, questions/réponses pour les FAQ, sources et autres ressources pour la rubrique Web ainsi que ses sous-rubriques.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/01/2011, 15h08   #1
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Par défaut Différence en nombre de jours entre deux dates

Une petit fonction que je n'ai pas encore vue dans la FAQ mais mériterais d'y figurer ?

Code :
1
2
3
4
function diffdate(d1,d2){
var WNbJours = d2.getTime() - d1.getTime();
return Math.ceil(WNbJours/(1000*60*60*24));
}

Utilisation:
Code :
1
2
3
4
5
 
var Date1 = new Date(2010,0,1);
var Date2 = new Date(2011,0,1);
 
alert(diffdate(Date1,Date2) + ' jours')
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/01/2011, 16h16   #2
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Avec le choix de l'unité de temps
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<script type="text/javascript">
function diffdate(d1,d2,u){
div=1
switch(u){
 case 's': div=1000;
 			 break;
 case 'm': div=1000*60
			 break;
 case 'h': div=1000*60*60
			 break;
 case 'd': div=1000*60*60*24
			 break;
}
 
var Diff = d2.getTime() - d1.getTime();
return Math.ceil((Diff/div))
}
 
var Date1 = new Date(2010,0,1);
var Date2 = new Date(2011,0,1);
 
alert(diffdate(Date1,Date2,'d') + ' jours\n'+diffdate(Date1,Date2,'h') + ' heures\n'+diffdate(Date1,Date2,'m') + ' minutes\n'+diffdate(Date1,Date2,'s') + ' secondes\n'+ diffdate(Date1,Date2,'') + ' millisecondes')
</script>
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 11/01/2011, 18h26   #3
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 2 686
Détails du profil
Informations personnelles :
Âge : 27

Informations forums :
Inscription : mars 2008
Messages : 2 686
Points : 5 768
Points : 5 768
Bonne idée.
Par contre je me demande si les années bissextiles n'interviennent pas. Et oui, si l'on a les années bissextiles, c'est pour récupérer des jours car une journée ne fait pas exactement 24h. Donc tes calculs de jours sont peut-être à ajuster.
A vérifier, je ne fais que penser à la théorie.
__________________
Elen Poukram - Isegoria - Sandawe
vermine est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 19h34   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 802
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 802
Points : 35 807
Points : 35 807
Citation:
Envoyé par vermine Voir le message
Bonne idée.
Par contre je me demande si les années bissextiles n'interviennent pas. Et oui, si l'on a les années bissextiles, c'est pour récupérer des jours car une journée ne fait pas exactement 24h. Donc tes calculs de jours sont peut-être à ajuster.
A vérifier, je ne fais que penser à la théorie.
Yakatester
Code :
1
2
3
4
5
6
7
8
function diffdate(d1,d2){
var WNbJours = d2.getTime() - d1.getTime();
return Math.ceil(WNbJours/(1000*60*60*24));
}
var Date1 = new Date(2008,0,1);
var Date2 = new Date(2011,0,1);
 
alert(diffdate(Date1,Date2) + ' jours')
Qui renvoie bien 1096 (365 * 2 + 366) !
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2011, 19h57   #5
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 802
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 802
Points : 35 807
Points : 35 807
Citation:
Envoyé par SpaceFrog Voir le message
Une petit fonction que je n'ai pas encore vue dans la FAQ mais mériterais d'y figurer ?
Si elle y est
http://javascript.developpez.com/faq...te#nombreJours


Spaffy !
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 08h43   #6
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 007
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 007
Points : 45 091
Points : 45 091
Merci Beef

Pour le coup des années bissextiles, sachant que le calcul était basé sur les dates système et une différence en millisecondes, je ne me faisais pas de soucis
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 17h08   #7
Membre actif
 
Inscription : juin 2004
Messages : 152
Détails du profil
Informations forums :
Inscription : juin 2004
Messages : 152
Points : 154
Points : 154
Petit effet de bord par rapport au changement d'heure :

Code :
1
2
3
4
5
6
7
8
function diffdate(d1,d2){
var WNbJours = d2.getTime() - d1.getTime();
return Math.ceil(WNbJours/(1000*60*60*24));
}
var Date1 = new Date(2010,9,31);
var Date2 = new Date(2010,10,1);
 
alert(diffdate(Date1,Date2) + ' jours');
D'ailleurs, c'est étonnant, le changement d'heure s'est déroule "normalement" dans la nuit du samedi au dimanche, et javascript considère que c'est du dimanche au lundi...
BaBeuH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 10h35   #8
Invité de passage
 
Inscription : décembre 2010
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 7
Points : 4
Points : 4
Bonjour,

j'arrive un peu tard mais je viens de tester cette fonction pour un client.
quand je fais :

Code :
1
2
3
4
5
6
7
function diffdate(d1,d2){
var WNbJours = d2.getTime() - d1.getTime();
return Math.ceil(WNbJours/(1000*60*60*24));
}
var Date1 = new Date(2011,9,30);
var Date2 = new Date(2011,10,1);
alert(diffdate(Date1,Date2) + ' jours');
j'obtiens 3 jours

et quand je fais :
Code :
1
2
3
var Date1 = new Date(2011,8,31);
var Date2 = new Date(2011,9,1);
alert(diffdate(Date1,Date2) + ' jours');
j'obtiens 0 jour

qu'il faille ajouter 1 pour obtenir un nb de jours entre 2 jours ne me pose pas de problème.
mais ces résultats me font dire que la fonction Date inverse les mois en 31 et ceux en 30.

Est-ce que quelqu'un a déjà constaté et/ou résolu ce problème?

Merci.
deneb92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 10h40   #9
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 802
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 802
Points : 35 807
Points : 35 807
Bien entendu, je suppose que tu es au courant que les mois commencent à 0 en JavaScript...
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 10h45   #10
Invité de passage
 
Inscription : décembre 2010
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 7
Points : 4
Points : 4
non, je ne savais pas. j'aurai fait un grand pas aujourd'hui.
mais je ne comprends pas pourquoi j'ai 3 jours entre le 1er octobre et le 30 septembre, et 0 jour entre le 1er septembre et le 31 aout.
deneb92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 10h52   #11
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 802
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 802
Points : 35 807
Points : 35 807
Euh... si les mois commencent à 0, alors 8 c'est pas août, c'est septembre !
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2011, 11h03   #12
Invité de passage
 
Inscription : décembre 2010
Messages : 7
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 7
Points : 4
Points : 4
c'est sûr...
mea culpa...

merci pour l'info.
deneb92 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h36.


 
 
 
 
Partenaires

Hébergement Web