IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Afin de mourir moins bête :-) Avez-vous une explication ?


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Electron libre since 80's
    Inscrit en
    Juillet 2016
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Aube (Champagne Ardenne)

    Informations professionnelles :
    Activité : Electron libre since 80's
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2016
    Messages : 92
    Par défaut Afin de mourir moins bête :-) Avez-vous une explication ?
    Bonjour,

    Désolé pour l'intitulé du post mais le problème est difficile à synthétiser en quelques mots.

    Vérifié sur Firefox et Chrome updtodate que cela soit en script ou directement en console.

    J'ai une fonction qui génère les jours manquants entre 2 dates (ces dernières sont sous forme YYYY-mm-dd) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	function dayGenerate(dateFromShort,dateToShort)
    	{	let ret=new Array();
    		let dateFrom=new Date(dateFromShort); dateFrom.setHours(12,0,0,0); dateFrom.setDate(dateFrom.getDate()+1);
    		let dateTo=new Date(dateToShort); dateTo.setHours(12,0,0,0);
    		let dateDiff=(dateTo-dateFrom)/86400000;
    		if(dateDiff>0)
    		{	console.log("dayGenerate "+dateFromShort+" "+dateToShort);
    			for(let i=0;i<dateDiff;i++)
    			{	ret.push({date:dateFrom});
    				dateFrom.setDate(dateFrom.getDate()+1);
    			}
    		}
    		console.log(ret);
    	}
    Si ensuite, je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dayGenerate("2021-06-04","2021-06-15")
    En sortie, toutes les dates stockées dans ret sont au 15/06/2021.

    Si je modifie le ret.push de la fonction ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ret.push({date:""+dateFrom});
    J'ai bien ce que j'attends (dates du 05/06 au 14/06/2021).

    Une idée afin de (voir le titre du post) ?
    Merci par avance.

  2. #2
    Membre éprouvé Avatar de tag9724
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2021
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Dordogne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2021
    Messages : 64
    Par défaut
    Dans ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ret.push({date:dateFrom});
    dateFrom n'est pas une chaine de caractère mais un objet ce qui fait que ton tableau contient une référence à celui-ci, du coup le fait de faire "" + dateFrom ou encore dateFrom.toString() permet de convertir le type de la variable ( et donc de résoudre ton problème a condition que tu veuille bien avoir une chaine de caractères comme valeur de retour ).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 19
    Dernier message: 18/08/2010, 15h01
  2. Avez vous une explication à la chute de la mémoire disponible ?
    Par blue dans le forum Administration système
    Réponses: 5
    Dernier message: 05/06/2007, 14h49
  3. Plantage de programme : avez-vous une explication ?
    Par tlpwd dans le forum x86 32-bits / 64-bits
    Réponses: 2
    Dernier message: 30/01/2007, 14h10
  4. Réponses: 24
    Dernier message: 20/05/2006, 12h29
  5. Grosses opérations... avez-vous une requête efficace ?
    Par Huntress dans le forum Langage SQL
    Réponses: 8
    Dernier message: 20/06/2005, 16h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo