Convertir un date dans un array en fr

Résolu/Fermé
rasielblas Messages postés 140 Date d'inscription jeudi 20 mars 2014 Statut Membre Dernière intervention 12 mai 2021 - 4 mai 2021 à 10:04
rasielblas Messages postés 140 Date d'inscription jeudi 20 mars 2014 Statut Membre Dernière intervention 12 mai 2021 - 4 mai 2021 à 16:30
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);
1
rasielblas Messages postés 140 Date d'inscription jeudi 20 mars 2014 Statut Membre Dernière intervention 12 mai 2021 9
4 mai 2021 à 14:24
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
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
rasielblas Messages postés 140 Date d'inscription jeudi 20 mars 2014 Statut Membre Dernière intervention 12 mai 2021 9
Modifié le 4 mai 2021 à 14:44
J'ai tester votre code est ca marche à merveille, merci beaucoup vous m'avez sauvez la vie ! ;-)
0
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
rasielblas Messages postés 140 Date d'inscription jeudi 20 mars 2014 Statut Membre Dernière intervention 12 mai 2021 9
4 mai 2021 à 16:30
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