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')
しかし、私はそれを得ていません...
あなたは複数の奇妙なことが起こっています。最初のものはあなたの投稿で編集されましたが、メソッドが呼び出された順番に関係していました。
.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");
違いは、瞬間が破壊的であるため、開始日をあなたが開始日に行っている変更に設定していることです。
startdate = moment().subtract(1, 'days').format('DD-MM-YYYY');
これを試して:
var duration = moment.duration({'days' : 1});
moment().subtract(duration).format('DD-MM-YYYY');
これはあなたに14-04-2015
を与えるでしょう - 今日は15-04-2015です
あなたのmomentjsのバージョンが2.8.0未満の場合は、代わりに使用することができます。
startdate = moment().subtract('days', 1).format('DD-MM-YYYY');
これの代わりに:
startdate = moment().subtract(1, 'days').format('DD-MM-YYYY');
startdate = moment().subtract(1, 'days').startOf('day')
私はあなたがその最後の試みでそれを持っていると思う、あなたはちょうど.. Chromeのコンソールで..文字列をつかむ必要があります。
startdate = moment();
startdate.subtract(1, 'd');
startdate.format('DD-MM-YYYY');
"14-04-2015"
startdate = moment();
startdate.subtract(1, 'd');
myString = startdate.format('DD-MM-YYYY');
"14-04-2015"
myString
"14-04-2015"
角度モーメント= "^ 1.3.0"
moment('15-01-1979', 'DD-MM-YYYY').subtract(1,'days').format(); //14-01-1979
or
moment('15-01-1979', 'DD-MM-YYYY').add(1,'days').format(); //16-01-1979
``
var date = new Date();
var targetDate = moment(date).subtract(1, 'day').toDate(); // date object
さて、あなたはこの日付を見たい方法をフォーマットしたり、他の日付とこの日付を比較することができます。
toDate()関数がポイントです。