我怎样才能减去一年并在我的约会中增加几个月?

How can I subtract a year and add months to my dates?

我有一个包含未来日期的列,我想使用修改后的 JavaScript 步骤减去年份并添加月份。

CloseDate的数据类型为Date,格式为mm/dd/yyyy。例如 01/10/2020

我尝试了以下方法:

var newDate;
year(CloseDate) = year(CloseDate)-1;
month(CloseDate) = month(CloseDate)+5;
newDate = CloseDate;

但它没有修改日期,我收到以下错误:

Modified JavaScript value.0 - Javascript error: 
Modified JavaScript value.0 - ReferenceError: Function function year() {
    [native code, arity=1]
}
 can not be used as the left-hand side of assignment or as an operand of ++ or -- operator. (script#11)

我的 JavaScript 代码中是否遗漏了什么?

您需要将新的年份和月份分配给一个有效的变量:

var year = CloseDate.getFullYear()-1;
var month = CloseDate.getMonth()+5;

虽然我们正在努力,但我们也应该得到这一天:

var day = CloseDate.getDate();

请注意,= 左侧的括号没有任何意义,会导致错误。此外,我使用正确的函数名称来获取日期的各个部分。这些函数在 Date 原型中,所以我必须使用点符号来访问它们。我通过谷歌搜索 "javascript date" 找到了这些,然后单击第一个 link 用于 MDN 文档。

最后,将各部分重新组合成一个完整的日期:

var newDate = new Date(year, month, day);

如果 CloseDate 已经是 Date 字段,在 PDI 的 Modified JavaScript Script Value Step 中,您可以使用 dateAdd function():

var newDate = dateAdd(dateAdd(CloseDate,"y",-1), "m", 5)