Convertir un date dans un array en fr [Résolu]

Signaler
Messages postés
135
Date d'inscription
jeudi 20 mars 2014
Statut
Membre
Dernière intervention
4 mai 2021
-
Messages postés
135
Date d'inscription
jeudi 20 mars 2014
Statut
Membre
Dernière intervention
4 mai 2021
-
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

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);
Messages postés
135
Date d'inscription
jeudi 20 mars 2014
Statut
Membre
Dernière intervention
4 mai 2021
3
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!
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.
Messages postés
135
Date d'inscription
jeudi 20 mars 2014
Statut
Membre
Dernière intervention
4 mai 2021
3
J'ai tester votre code est ca marche à merveille, merci beaucoup vous m'avez sauvez la vie ! ;-)
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.
Messages postés
135
Date d'inscription
jeudi 20 mars 2014
Statut
Membre
Dernière intervention
4 mai 2021
3
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!