【问题标题】:How to get yesterday's date with Momentjs?如何使用 Momentjs 获取昨天的日期?
【发布时间】:2015-10-05 13:34:09
【问题描述】:

所以,我的问题很简单,我如何使用 MomentJs 获得昨天的日期? 在Javascript中它非常简单,即

today = new Date();
yesterday = new Date(today.setDate(today.getDate() - 1))

console.log(yesterday)

但是如何使用 MomentJs 实现这一点?

【问题讨论】:

  • moment().add('days', -1);
  • 还有new Date(Date.now() - 8.64e7)。 ;-)

标签: javascript date momentjs


【解决方案1】:

最简单的解决方案

通过moment我们可以轻松获取昨天、今天和明天的日期

1.获取昨天日期:

moment().subtract(1, "days").format("YYYY-MM-DD");

2。获取今天日期:

moment().subtract(0, "days").format("YYYY-MM-DD");

3。获取明天日期:

moment().subtract(-1, "days").format("YYYY-MM-DD");

【讨论】:

    【解决方案2】:

    Momentjs 中的昨天日期,格式为 DD-MM-YYYY。

    const yesterdaydate = moment().subtract(1, "days").format("DD-MM-YYYY");
    console.log(yesterdaydate)
    

    【讨论】:

      【解决方案3】:

      就像这样:moment().subtract(1, 'days')。它会为您提供前一天与您本地电脑上相同的当前时间。

      【讨论】:

      • 按面值尝试过,但对我不起作用。我必须为结果提供某种格式。例如。 'moment().subtract(1, 'days').calendar()' 或 'moment().subtract(1, 'days').toDate()' 或 'moment().subtract(1, 'days' ).format("MM/DD/YYYY")'
      【解决方案4】:

      这对我有用:

      var yesterday = new Date(dateInput.getTime());
      yesterday.setDate(yesterday.getDate() - 1);
      console.log(yesterday);
      
      var tomorrow = new Date(dateInput.getTime());
      tomorrow.setDate(tomorrow.getDate() + 1);
      console.log(tomorrow);
      
      dateB = moment(yesterday).format("YYYYMMDD");
      dateA = moment(tomorrow).format("YYYYMMDD");
      console.log(dateB);
      console.log(dateA);
      

      【讨论】:

        【解决方案5】:

        您可以使用

        轻松地从时刻减去天数

        var yesterday = moment().subtract(1, 'days')

        以及查找上一个日期

        var previousDay = moment('2017/11/6', 'YYYY/MM/DD').subtract(1, 'days')

        【讨论】:

          【解决方案6】:

          当我们得到昨天的日期时,有三种可能性

          1. 以当前时间获取昨天的日期

          moment().subtract(1, 'days').toString()
          

          2. 获取昨天的日期和一天的开始

          moment().subtract(1, 'days').startOf('day').toString()      
          

          3. 获取昨天结束的日期

          moment().subtract(1, 'days').endOf('day').toString()
          

          【讨论】:

            【解决方案7】:

            还有:

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

            它会为您提供前一天与您本地电脑上完全相同的当前时间。

            【讨论】:

            • 我在sn-p中从一个月开始就使用这种方法,而我在月初才发现这不能正常工作。所以moment(date).subtract(-1, 'day') 在第一天返回当月的最后一天而不是上个月的最后一天。有人知道更多吗?
            • 你能用moment().subtract(1, 'day')代替moment().subtract(-1, 'day')试试
            • @sam 忘记减号,只是一个错字。有没有因为我尝试moment(date).add(-1, 'day') 得到相同的结果。
            【解决方案8】:
            moment().add(-1, 'days');
            

            您可以在docs找到更多信息。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-06-12
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-03-31
              • 1970-01-01
              相关资源
              最近更新 更多