Moment JS - 如何从当前日期减去7天?

时间:2014-09-17 10:28:24

标签: javascript date momentjs substr

我想从当前日期减去7天,使用moment.js库获取格式化日期YYYY-MM-DD。

我试图这样做:

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

   console.log(dateFrom);
   console.log(dateTo);

但所有返回的值都相同。

5 个答案:

答案 0 :(得分:86)

可能是:

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

moment#subtract

答案 1 :(得分:4)

日期对象在投放时以毫秒为单位。这样:

dateFrom = moment(Date.now() - 7 * 24 * 3600 * 1000).format('YYYY-MM-DD'); 

答案 2 :(得分:1)

用于日期选择器

 first_day: moment()
    .subtract(5, "day")
    .endOf("day")
    .toDate(),
  last_day: moment()
    .endOf("day")
    .toDate(),

答案 3 :(得分:0)

问题已经过时,解决方案也是如此。

使用Moment v2.29 +

您可以使用以下方式添加或减少天数

moment().day(-7); // last Sunday (0 - 7)
moment().day(0); // this Sunday (0)
moment().day(7); // next Sunday (0 + 7)
moment().day(10); // next Wednesday (3 + 7)
moment().day(24); // 3 Wednesdays from now (3 + 7 + 7 + 7)

有关更多信息,请参阅官方文档https://momentjs.com/docs/#/get-set/

答案 4 :(得分:-1)

获取最近7天的最简单方法

moment().subtract(7, 'days').startOf('day').format('YYYY-MM-DD HH:mm:ss')