La valeur de retour souhaitée doit être une chaîne au format dd-mm-yyyy.

Im essayant de donner un format date jj-mm-aaaa à ISO String et en ajoutant GMT mais le code me donne ce format. Comment puis-je faire?

new Date().toISOString()
    .replace(/T/, ' ').      // replace T with a space
    .replace(/\..+/, '');     // delete the dot and everything after

«2012-11-04 14:55:45»

5
J.arc 7 mars 2016 à 14:53

3 réponses

Meilleure réponse

Je cherche le format de date 04-11-2012

En utilisant la date d'aujourd'hui (qui en tant que chaîne ISO est actuellement "2016-03-08T13: 51: 13.382Z"), vous pouvez faire ceci:

new Date().toISOString().replace(/T.*/,'').split('-').reverse().join('-')

La sortie de ceci est:

-> "08-03-2016"

Cette:

  1. Saisit la date.
  2. Le convertit en une chaîne ISO.
  3. Remplace le «T» et tout ce qui se trouve après.
  4. Le convertit en un tableau en divisant sur n'importe quel caractère de trait d'union ('-'). (["2016", "03", "08"])
  5. Inverse l'ordre du tableau. (["08", "03", "2016"])
  6. Rejoint le tableau sous forme de chaîne, en séparant chaque valeur par un trait d'union.

Voici une démo utilisant votre date (2012-11-04T14: 55: 45.000Z) comme entrée:

var input = "2012-11-04T14:55:45.000Z",
    output;

output = new Date(input).toISOString().replace(/T.*/,'').split('-').reverse().join('-');

document.getElementById('input').innerHTML = input;
document.getElementById('output').innerHTML = output;
<p><strong>Input:</strong> <span id=input></span></p>
<p><strong>Output:</strong> <span id=output></span></p>
8
James Donnelly 8 mars 2016 à 13:52

Pour votre exemple '2012-11-04 14:55:45'

Vous pouvez faire: new Date('2012-11-04 14:55:45').toISOString().split('T')[0] sur une seule ligne :)

0
Filipe Andrade 19 juin 2018 à 15:46

Vous pouvez utiliser new Date().toLocaleDateString("en-US"); pour renvoyer uniquement la date. Cela renvoie "3/8/2016" aujourd'hui.

new Date().toLocaleDateString().replace(/\//g, '-'); le changera en sortie avec des tirets. Cela retournera "3-8-2016" aujourd'hui.

1
davidcondrey 8 mars 2016 à 14:03