Moment.js 2 chaînes de date différentes lorsque j'analyse en utilisant moment donne la même valeur

StackOverflow https://stackoverflow.com//questions/22063749

  •  23-12-2019
  •  | 
  •  

Question

J'analyse 2 chaînes de date différentes

var d1  = '2014-02-01T00:00:00.000+0530'

var d2 = '2014-02-23T00:00:00.000+0530'   

quand je les analyse en utilisant le moment

alert(moment(d1, 'YYYY-MM-dd"T"HH:mm:ss.fffffff"Z"').toDate());
alert(moment(d2, 'YYYY-MM-dd"T"HH:mm:ss.fffffff"Z"').toDate());

les deux impriment le samedi 1er février 2014 xxxxx

Qu'est-ce qui va pas avec ça??

voici le lien vers le violon que j'ai créé

jsfiddle

Était-ce utile?

La solution

Je pense que votre chaîne de formatage momentanée vous pose problème.Si je supprime cela, les dates ne s'impriment pas de la même manière.

http://jsfiddle.net/K5ub8/7/

MODIFIER:Le problème spécifique est que vous utilisez dd pour la journée, au lieu de DD. http://momentjs.com/docs/#/parsing/string-format/

Voici votre violon réparé :http://jsfiddle.net/K5ub8/9/

Cependant, je ne suis pas sûr à 100 % des fractions de seconde, je crois que c'est le cas. SSS au lieu de fffffff mais je testerais cela si vous avez besoin de répondre à des fractions de secondes.

Je dois mentionner que si vous le reconvertissez de toute façon en un objet de date JavaScript avec toDate(), alors vous n'avez pas vraiment besoin du paramètre de formatage moment car la date sera formatée au format JSON Date.

Je me demande pourquoi vous voudriez générer une date au format moment, puis la reconvertir en JavaScript, une pratique normale pourrait être de recevoir une date au format JavaScript, puis de créer un objet moment que vous pouvez utiliser pour effectuer des calculs et l'afficher dans une manière agréable et conviviale.

Autres conseils

Réponse simple :votre format était un peu faux.

http://jsfiddle.net/K5ub8/8/

Après avoir peaufiné le format pour qu'il soit 'YYYY-MM-DDTHH:mm:ss.SSSZZ' plutôt que 'YYYY-MM-dd"T"HH:mm:ss.fffffff"Z"' ça a très bien fonctionné.Lorsque vous essayez de déboguer des problèmes comme celui-ci, il est toujours bon de conserver le format dans une variable distincte afin de pouvoir utiliser le même format que celui que vous essayez d'analyser pour afficher ce que vous obtenez.Si tu l'avais fait, tu l'aurais remarqué 'YYYY-MM-dd"T"HH:mm:ss.fffffff"Z"' a été gâché à cause de l'impression 2014-01-Fr"T"11:32:03.fffffff"-08:00".Ce qui n’est évidemment pas tout à fait vrai.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top