Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Format date with Moment.js

I have a string in this format:

var testDate = "Fri Apr 12 2013 19:08:55 GMT-0500 (CDT)" 

I would like to use Moment.js get it in this format mm/dd/yyyy : 04/12/2013 for display.

I tried to do it using this method,

moment(testDate,'mm/dd/yyyy'); 

Which errors and says there is no such method called replace? Am I approaching this in the wrong way?


Edit

I should also mention that I am using a pre-packaged version of Moment.js, packaged for Meteor.js

Object [object Date] has no method 'replace' : The Exact error from the console 

Stack Trace:

 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)  
like image 286
Warz Avatar asked Apr 13 '13 23:04

Warz


People also ask

How do I change a moment date?

Just use your Date object as parameter: var d = new Date(); var m = moment(d); And voila, your moment object is set to the same time as your Date object.


2 Answers

The 2nd argument to moment() is a parsing format rather than an display format.

For that, you want the .format() method:

moment(testDate).format('MM/DD/YYYY'); 

Also note that case does matter. For Month, Day of Month, and Year, the format should be uppercase.

like image 174
Jonathan Lonowski Avatar answered Oct 16 '22 16:10

Jonathan Lonowski


Include moment.js and using the below code you can format your date

var formatDate= 1399919400000;  var responseDate = moment(formatDate).format('DD/MM/YYYY'); 

My output is "13/05/2014"

like image 24
Akalya Avatar answered Oct 16 '22 15:10

Akalya