1. ホーム
  2. javascript

[解決済み] Moment.jsで日付の書式を設定する

2022-03-17 16:01:08

質問

このような形式の文字列があります。

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

を使いたいのですが Moment.js この形式で取得する mm/dd/yyyy : 04/12/2013 を表示するようにします。

この方法でやってみました。

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

というエラーが出て there is no such method called replace ? 私のアプローチの仕方が間違っているのでしょうか?


編集

また、私はパッケージ化されたバージョンの モーメント.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) 

解決方法は?

の第2引数は moment() パース フォーマット ではなく 表示 の形式を使用します。

そのためには .format() メソッド :

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

また、大文字・小文字は重要であることに注意してください。月、月日、年については、大文字で記述します。