-5
votes

comment supprimer certains caractères de la chaîne?

Après avoir récupéré les données de l'API, il renvoie parfois des données sous la forme

Date: "2020-05-18T10:11:08Z"

ou parfois comme

Date: "2020-09-10T13:21:08Z"

Existe-t-il un moyen de supprimer les caractères après T afin que la sortie puisse être au format aa / mm / jj comme 2020-05-15 uniquement. La date est dyanimique et ne revient pas toujours la même. Je souhaite également modifier la date 16/05/2020 en utilisant "/" au lieu de "-"


8 commentaires

Les exemples 1 et 2 me semblent égaux en ce qui concerne le format. Vous pouvez Date.parse() utiliser Date.parse()


Vous pouvez créer une sous-chaîne avec substr


Voir les options de format javascript.info/date


@felipsmartins ce n'est pas la même chose.


Créez une instance de date à partir des chaînes de date ISO que vous obtenez, puis utilisez les API de date pour extraire ce que vous voulez.


C'est une date au format standard . Analysez-le puis formatez-le comme vous le souhaitez.


Cette question n'est pas vraiment liée aux dates. Vous avez une chaîne et vous voulez en faire partie. Une recherche sur Internet pour une sous-chaîne ou quelque chose devrait vous donner des centaines d'indices à choisir. -1 pour aucun effort ici.


@SaralKarki oui en fait les deux dates de votre question sont des dates standard ISO. \


3 Réponses :


0
votes

Une façon de faire cela pourrait être de faire un simple split() sur le caractère T , et de ne prendre que le premier segment:

var dateAndTime = "2020-05-18T10:11:08Z";
var date = /\d{4}-\d{2}-\d{2}/g.exec(dateAndTime)[0];
console.log(date);

Dans le même esprit de manipulation de texte, il serait également possible de faire quelque chose de similaire en utilisant RegExp, ce qui pourrait être utile si vous souhaitez vous en tenir à la méthodologie de manipulation de texte pure, mais aux règles par lesquelles vous manipulez le texte de la date pourrait devenir un peu plus complexe à l'avenir:

var dateAndTime = "2020-05-18T10:11:08Z";
var date = dateAndTime.split('T')[0];
console.log(date);


1 commentaires

Cette question a reçu une réponse maintes et maintes fois. Avons-nous besoin d'une autre réponse à cette question?



0
votes

Si vous recevez toujours la chaîne au format indiqué ci-dessus, vous pouvez utiliser la méthode de fractionnement, puis le premier élément du tableau représentera la partie date.

 "2020-05-18T10:11:08Z".split('T')[0]


0 commentaires

0
votes

Vous pouvez également utiliser l'API Date pour obtenir le même résultat, ce qui est parfois un peu plus propre et plus facile à étendre à l'avenir si vos exigences évoluent vers une manipulation plus complexe liée à la date:

var dateAndTime = "2020-05-18T10:11:08Z";
var dateAndTimeObject = new Date(dateAndTime);
var date = dateAndTimeObject.getFullYear() + "-" + (dateAndTimeObject.getMonth() + 1) + "-" + dateAndTimeObject.getDate(); // add 1 to getMonth() result to change from month index to proper numerical month representation
console.log(date);


0 commentaires