将天数添加到脚本中的日期

Adding Days onto a date in a script

我有两个字段。一个是 'Date Last Checked',另一个是 'Date Due'。我需要 'Date due' 自动比 'Date Last Checked'

提前 364 天

基本上归结为这个问题:Add days to JavaScript Date

...但是它有一些 App Maker 的特殊性。从安全的角度来看,实现它的正确方法似乎是使用 onBeforeCreateonBeforeSave Model Events and Server Side script 来强制数据一致性:

// Define this function somewhere in server scripts
function addDays(date, days) {
  var result = new Date(date);
  result.setDate(result.getDate() + days);
  return result;
}


// onBeforeCreate event handler
record.DueDate = addDays(record.LastChecked, 364);


// onBeforeSave event handler (to keep things simple we can
// update DueDate when any of record's fields is changed)
record.DueDate = addDays(record.LastChecked, 364);

这种方法的其他好处

  • 无需在 UI
  • 的多个位置重复逻辑
  • 更新的 DueDate 将通过回调返回并自动更新 UI