Moment.js を使用して日付をフォーマットし、日数を減算する 質問する

Moment.js を使用して日付をフォーマットし、日数を減算する 質問する

Moment.js を使用して、昨日の日付を の形式で保持する変数を作成したいと思いますDD-MM-YYYY。今日が の場合15-04-2015、1 日を減算して としたいと思います14-4-2015

私は次のような組み合わせをいくつか試しました:

startdate = moment().format('DD-MM-YYYY');
startdate.subtract(1, 'd');

この:

startdate = moment().format('DD-MM-YYYY').subtract(1, 'd');

そしてこれも:

startdate = moment();
startdate.subtract(1, 'd');
startdate.format('DD-MM-YYYY')

でも、分かりません…

ベストアンサー1

複数の奇妙な現象が発生しています。最初の現象は投稿内で編集されていますが、メソッドが呼び出される順序に関係していました。

.format文字列を返します。文字列にはsubtractメソッドがありません。

2 番目の問題は、日数を減算しているが、それを実際に変数として保存していないことです。

コードは次のようになります。

var startdate = moment();
startdate = startdate.subtract(1, "days");
startdate = startdate.format("DD-MM-YYYY");

ただし、これを連鎖させることもできます。次のようになります。

var startdate = moment().subtract(1, "days").format("DD-MM-YYYY");

違いは、moment は破壊的であるため、startdate で実行している変更に startdate を設定していることです。

おすすめ記事