web-dev-qa-db-ja.com

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')

しかし、私はそれを得ていません...

80
beaumondo

あなたは複数の奇妙なことが起こっています。最初のものはあなたの投稿で編集されましたが、メソッドが呼び出された順番に関係していました。

.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");

違いは、瞬間が破壊的であるため、開始日をあなたが開始日に行っている変更に設定していることです。

143
ndugger
startdate = moment().subtract(1, 'days').format('DD-MM-YYYY');
9
M. Adam Kendall

これを試して:

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');
5
user1846747

startdate = moment().subtract(1, 'days').startOf('day')

3
Jethik

私はあなたがその最後の試みでそれを持っていると思う、あなたはちょうど.. 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"
2
lecstor

角度モーメント= "^ 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
``



2
Raphael Vitor
var date = new Date();

var targetDate = moment(date).subtract(1, 'day').toDate(); // date object

さて、あなたはこの日付を見たい方法をフォーマットしたり、他の日付とこの日付を比較することができます。

toDate()関数がポイントです。

1
canmustu