Convertir un date dans un array en fr

Résolu
rasielblas Messages postés 143 Statut Membre -  
rasielblas Messages postés 143 Statut Membre -
Bonjour, je souhaite convertir un date anglais en francais. J'ai un code qui marche bien:

var myArray = ["2017-09-24"];
var myDate = new Date(myArray);
var formatted = myDate.getDate() + "-" + (myDate.getMonth()+1) + "-" + myDate.getFullYear();
console.log(formatted);

Cela me retourne: 24-09-2017

Le problème c'est que si j'ai deux dates dans le tableau cela retourne un erreur nan nan:
var myArray = ["2017-09-24","2020-05-01];
var myDate = new Date(myArray);
var formatted = myDate.getDate() + "-" + (myDate.getMonth()+1) + "-" + myDate.getFullYear();
console.log(formatted);


Je me suis documenté et faire de recherche mais je n'ai pas réussi à trouvé une solution et j'aimerais solliciter votre aide s'il vous plait.
Merci d'avance.

4 réponses

  1. Dz
     
    Salut, pour ton problème, quand tu initialises ton tableau tu lui donnes 2 valeurs. Ton soucis est que tu ne peux pas afficher 2 valeurs dans une même variable.
    Si j'ai bien compris ce que tu cherches à obtenir tu devrais faire le code suivant :

    var myArray = ["2017-09-24","2020-05-01"];
            var myDate = new Date(myArray[0]);
            var myDate2 = new Date (myArray[myArray.length - 1]);
            var formatted = myDate.getDate() + "-" + (myDate.getMonth()+1) + "-" + myDate.getFullYear();
            var formatted2 = myDate2.getDate() + "-" + (myDate2.getMonth()+1) + "-" + myDate2.getFullYear();
            console.log(formatted, formatted2);
    
    1
    1. rasielblas Messages postés 143 Statut Membre 9
       
      Merci beaucoup! c'est bien ce que je cherche, juste une autre question si c'est possible, est si j'ai une donnée array qui ce génère automatiquement du genre
      var myArray=[date1,date2,date3,....dateN]
      est ce qu'il y a moyen de combiner tous les valeurs dans un seul variables? encore merci!
      0
  2. Dz
     
    De rien ^^ Pour répondre à ta question tu ne peux pas l'initialiser dans une variable en tout cas pas dans la manière dont tu le fais. En gros la façon la plus adapté par rapport à ce que tu me demandes c'est d'utiliser un "foreach", c'est quasi le même principe que dans le langage PHP.

    En gros tu fais un truc du style :

    <!DOCTYPE html>
    <html>
    <body>
    
    <p>Liste les dates d'un tableau :</p>
    
    <p id="demo"></p>
    
    


    var myArray  = ["2017-09-24","2020-05-01"];
    myArray.forEach(myFunction);
    
    function myFunction(item) {
      document.getElementById("demo").innerHTML += item + "<br>"; 
    }
    


    Je précise cette méthode n'est pas adapté pour utiliser ta console, à toi d'essayer de la faire fonctionner mais bon normalement je t'ai bien mâché le travail !
    Si tu fais copié/collé de mon code tu l'auras visuellement.
    1
    1. rasielblas Messages postés 143 Statut Membre 9
       
      J'ai tester votre code est ca marche à merveille, merci beaucoup vous m'avez sauvez la vie ! ;-)
      0
  3. Dz
     
    Pas de problème et tant mieux si j'ai réussi à bien vous aider. Il faudrait que vous marquez votre sujet comme résolu du coup, c'est la politique du forum.
    1
  4. rasielblas Messages postés 143 Statut Membre 9
     
    J'ai un peu modifier votre code de façon à ce qu'elle s'adapte à mes besoins est du coup ca marche très bien, encore merci, en basant sur votre aide j'ai enfin trouvé ce que je cherche, je le postule peut-être que d'autre personne en a besoin un jour:

    var myArray  = ["2017-09-24","2020-05-01","2025-06-10","2021-05-10","2025-06-12"];
    
    for(var i=0;i<myArray.length;i++){
    	var myDate = new Date(myArray[i]);
    	var formatted = myDate.getDate() + "-" + (myDate.getMonth()+1) + "-" + myDate.getFullYear();
    	console.log(formatted);
    }
    
    


    Je marque ce poste comme résolu!
    0