J'ai une chaîne dans ce format:
var testDate = "Fri Apr 12 2013 19:08:55 GMT-0500 (CDT)"
Je voudrais utiliser moment.js l'obtenir dans ce format mm/dd/yyyy : 04/12/2013
pour l'affichage.
J'ai essayé de le faire en utilisant cette méthode,
moment(testDate,'mm/dd/yyyy');
Quelles erreurs et dit there is no such method called replace
? Est-ce que je l'aborde de la mauvaise façon?
Modifier:
Je devrais également mentionner que j'utilise une version préemballée de moment.js, emballée pour meteor.js
Object [object Date] has no method 'replace' : The Exact error from the console
Trace de la pile:
at makeDateFromStringAndFormat (http://127.0.0.1:3000/packages/moment/lib/moment/moment.js?b4e3ac4a3d0794023a4410e7941c3e179398b5b0:539:29)
at moment (http://127.0.0.1:3000/packages/moment/lib/moment/moment.js?b4e3ac4a3d0794023a4410e7941c3e179398b5b0:652:24)
at populateProfileForEdit (http://127.0.0.1:3000/client/views/home/administration/directory/profiles/profiles.js?acfff908a6a099f37312f62892a22b40f82e5e0f:147:25)
at Object.Template.profile_personal.rendered (http://127.0.0.1:3000/client/views/home/administration/directory/profiles/profiles.js?acfff908a6a099f37312f62892a22b40f82e5e0f:130:13)
at Spark.createLandmark.rendered (http://127.0.0.1:3000/packages/templating/deftemplate.js?b622653d121262e50a80be772bf5b1e55ab33881:126:42)
at http://127.0.0.1:3000/packages/spark/spark.js?45c746f38023ceb80745f4b4280457e15f058bbc:384:32
at Array.forEach (native)
at Function._.each._.forEach (http://127.0.0.1:3000/packages/underscore/underscore.js?867d3653d53e9c7a171483edbcad9670e12288c7:79:11)
at http://127.0.0.1:3000/packages/spark/spark.js?45c746f38023ceb80745f4b4280457e15f058bbc:382:7
at _.extend.flush (http://127.0.0.1:3000/packages/deps/deps.js?9642a93ae1f8ffa8eb1c2475b198c764f183d693:231:11)
Le deuxième argument de moment()
est un analyse format plutôt qu'un display .
Pour cela, vous voulez la .format()
méthode :
moment(testDate).format('MM/DD/YYYY');
Notez également que l'affaire est importante. Pour le mois, le jour du mois et l'année, le format doit être en majuscule.
Incluez moment.js et utilisez le code ci-dessous pour formater votre date
var formatDate= 1399919400000;
var responseDate = moment(formatDate).format('DD/MM/YYYY');
Ma sortie est "13/05/2014"
Pour la date de sortie, utilisez format
. Le second argument est pour l'analyse - toutefois, si vous l'omettez, vous testDate
provoquerez un avertissement pour obsolescence.
Avertissement de désapprobation: la valeur fournie n’est pas au format reconnu RFC2822 ou ISO ...
var testDate= "Fri Apr 12 2013 19:08:55 GMT-0500 (CDT)"
let s= moment(testDate).format('MM/DD/YYYY');
msg.innerText= s;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
<div id="msg"></div>
pour omettre cet avertissement, vous devez fournir un format d'analyse
var testDate= "Fri Apr 12 2013 19:08:55 GMT-0500 (CDT)"
let s= moment(testDate, 'ddd MMM D YYYY HH:mm:ss ZZ').format('MM/DD/YYYY');
console.log(s);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.24.0/moment.min.js"></script>
moment().format(); // "2019-08-12T17:52:17-05:00" (ISO 8601, no fractional seconds)
moment().format("dddd, MMMM Do YYYY, h:mm:ss a"); // "Monday, August 12th 2019, 5:52:00 pm"
moment().format("ddd, hA"); // "Mon, 5PM"