繁体   English   中英

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

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

我想从当前日期中减去 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);

但所有返回值都是相同的。

或许:

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

时刻#减去

日期对象在转换时以毫秒为单位。 所以:

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

对于您使用的日期选择器

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

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

使用 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/

您可以使用:

moment().subtract(1,'w')

从当前日期减去一周(7 天)。

NOTE:
1. w for week
2. d for days
3. m for month
4. y for year

获得最后第 7 天的最简单方法

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM