格式date与moment.js

我有这种格式的string:

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

我想用这个格式的mm/dd/yyyy : 04/12/2013来显示。

我试图用这个方法来做,

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

哪个错误说there is no such method called replace ? 我以错误的方式接近这个吗?

编辑:

我还应该提到,我正在使用pre.js包装版本的meteor.js

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

堆栈跟踪:

  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) 

moment()的第二个参数是parsing格式,而不是显示格式。

为此,您需要.format()方法 :

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

另外请注意,这种情况很重要。 对于月份,月份的date和年份,格式应该是大写的。

包括moment.js和使用下面的代码,你可以格式化你的date

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

我的输出是“13/05/2014”

Interesting Posts