【问题标题】:Angularjs: Change the status to a different status if 30 days have passed in current stateAngularjs:如果当前状态已经过去 30 天,则将状态更改为不同的状态
【发布时间】:2019-09-30 04:37:58
【问题描述】:

美好的一天,

我对一些逻辑有疑问,

我目前的任务基本上是,如果票证在上次更新日期达到 30 天,则更改其状态,然后它会更改其状态,所以我很好奇如何使用 moment.js 和 Javascript 来做到这一点。

希望截图和解释有所帮助。

请在下面找到代码片段。

【问题讨论】:

  • 欢迎使用 StackOverflow - 您能否附上代码,展示您迄今为止所尝试的内容?
  • 请添加您的代码..
  • 您好,我在上面添加了我尝试过的新方法:)

标签: javascript angularjs frontend momentjs backend


【解决方案1】:

抱歉,不是完整的答案(在将代码添加到问题之前),不适合发表评论。

moments 有一个.diff() 方法:

var daysUntilTicketExpires = 30
var a = moment([2007, 0, 29])
var b = moment([2007, 0, 28])
var c = a.diff(b, 'days') // 1

if( c > daysUntilTicketExpires) {
    alert("uh oh")
}

【讨论】:

    【解决方案2】:

    您好 将此代码保存在您的代码中的某个位置,然后 调用 moment.addRealMonth(autoCloseDate) 函数

    这会有所帮助

    moment.addRealMonth = function addRealMonth(d) { var fm = moment(d).add(1, 'M'); var fmEnd = moment(fm).endOf('month'); return d.date() != fm.date() && fm.isSame(fmEnd.format('YYYY-MM-DD')) ? fm.add(1, 'd') : fm;
    } var nextMonth = moment.addRealMonth(autoCloseDate);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-30
      • 2021-12-27
      • 1970-01-01
      • 1970-01-01
      • 2018-11-22
      • 1970-01-01
      • 2012-08-06
      • 1970-01-01
      相关资源
      最近更新 更多