Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Moment JS - how to subtract 7 days from current date?

I would like to subtract 7 days from current date to get formatted date YYYY-MM-DD using moment.js library.

I tried to do by this way:

    dateTo = moment(new Date()).format('YYYY-MM-DD');     dateFrom = moment(new Date() - 7).format('YYYY-MM-DD');     console.log(dateFrom);    console.log(dateTo); 

But all returned values are same.

like image 787
redrom Avatar asked Sep 17 '14 10:09

redrom


People also ask

How do you subtract days from moments?

However, you can chain this together; this would look like: var startdate = moment(). subtract(1, "days"). format("DD-MM-YYYY");

How do you subtract days in JavaScript?

To subtract days to a JavaScript Date object, use the setDate() method. Under that, get the current days and subtract days. JavaScript date setDate() method sets the day of the month for a specified date according to local time.


2 Answers

May be:

dateTo = moment().format('YYYY-MM-DD'); dateFrom = moment().subtract(7,'d').format('YYYY-MM-DD'); 

moment#subtract

like image 179
stu_sha Avatar answered Sep 20 '22 09:09

stu_sha


The date object, when casted, is in milliseconds. so:

dateFrom = moment(Date.now() - 7 * 24 * 3600 * 1000).format('YYYY-MM-DD');  
like image 35
Vinz243 Avatar answered Sep 21 '22 09:09

Vinz243