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 を設定していることです。