代码之家  ›  专栏  ›  技术社区  ›  user117499

获取日期-3个月

  •  6
  • user117499  · 技术社区  · 6 年前

    我正在尝试获取当前日期-3个月,并将其用于邮差预请求脚本中。我听说它使用javascript,但似乎不起作用。

    我得到的错误是:

    评估预请求脚本时出错:TypeError: 开始日期。setMonth不是函数

    以下是我所拥有的:

    // setup start date
    var startDate =  Date();
    startDate.setMonth(startDate.getMonth() - 3);
    
    3 回复  |  直到 6 年前
        1
  •  4
  •   dave    6 年前

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#Syntax

    JavaScript日期对象只能通过将JavaScript日期作为构造函数调用来实例化:将其作为常规函数调用(即不使用新运算符)将返回字符串而不是日期对象;与其他JavaScript对象类型不同,JavaScript日期对象没有文本语法。

    所以

    Date();
    

    需要是

    new Date();
    
        2
  •  1
  •   Vietvo    6 年前

    尝试更改 var startDate = Date(); var startDate = new Date();

        3
  •  1
  •   Danny Dainton    6 年前

    另一种选择是邮递员 moment 内置模块,您可以执行以下操作:

    var moment = require("moment")
    var startTime = moment().subtract(3, 'months')
    

    或者您也可以使用本机JavaScript,但有必要了解几种不同的方法。