【问题标题】:Moment JS - how to subtract 7 days from current date?Moment JS - 如何从当前日期减去 7 天?
【发布时间】:2021-12-20 04:23:50
【问题描述】:

我想使用 moment.js 库从当前日期减去 7 天以获取格式化日期 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);

但是所有返回的值都是一样的。

【问题讨论】:

    标签: javascript date momentjs substr


    【解决方案1】:

    可能是:

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

    moment#subtract

    【讨论】:

    • 另外值得注意的是,moment(new Date()) === moment()
    【解决方案2】:

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

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

    【讨论】:

    • 如果我想传递 dateTo - dateFrom 之类的东西怎么办?
    • 这种方法对于接近夏令时转换的日期是不安全的。并非所有的日子都是 24 小时。
    【解决方案3】:

    你可以使用:

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

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

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

    【讨论】:

      【解决方案4】:

      对于日期选择器,请使用

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

      【讨论】:

        【解决方案5】:

        问题已过时,解决方案也已过时。

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

        【讨论】:

          【解决方案6】:

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

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

          【讨论】:

            猜你喜欢
            • 2012-04-29
            • 1970-01-01
            • 1970-01-01
            • 2015-06-11
            • 2017-04-28
            • 2020-02-25
            • 1970-01-01
            • 1970-01-01
            • 2013-01-03
            相关资源
            最近更新 更多