将天数添加到脚本中的日期
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 的特殊性。从安全的角度来看,实现它的正确方法似乎是使用 onBeforeCreate
和 onBeforeSave
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
我有两个字段。一个是 'Date Last Checked',另一个是 'Date Due'。我需要 'Date due' 自动比 'Date Last Checked'
提前 364 天基本上归结为这个问题:Add days to JavaScript Date
...但是它有一些 App Maker 的特殊性。从安全的角度来看,实现它的正确方法似乎是使用 onBeforeCreate
和 onBeforeSave
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