Javascript 比较日期google sheets脚本
我正在尝试设置一个脚本(用于google sheets),一旦我在第二列中引入日期,如果它比明天(或过去)早,它将返回一个带有特定消息的消息框。这是我迄今为止尝试过的,但似乎我在比较日期时做错了什么Javascript 比较日期google sheets脚本,javascript,google-apps-script,google-sheets,spreadsheet,Javascript,Google Apps Script,Google Sheets,Spreadsheet,我正在尝试设置一个脚本(用于google sheets),一旦我在第二列中引入日期,如果它比明天(或过去)早,它将返回一个带有特定消息的消息框。这是我迄今为止尝试过的,但似乎我在比较日期时做错了什么 function onEdit(e) { var today = new Date(); var minDate = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+(today.getDate()+1); if (e.range.
function onEdit(e) {
var today = new Date();
var minDate = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+(today.getDate()+1);
if (e.range.columnStart == 2 && e.value.toString()<minDate){
Browser.msgBox('WARNING MESSAGE...');
}
}
函数onEdit(e){
var today=新日期();
var minDate=today.getFullYear()+'-'+(today.getMonth()+1)+'-'+(today.getDate()+1);
如果(e.range.columnStart==2&&e.value.toString(),您应该使用Date JavaScript对象来比较日期。因为使用字符串只按字母顺序进行比较。例如,这可能类似于
function onEdit(e) {
var minDate = new Date();
minDate.setDate(minDate.getDate() + 1); // Add one to the day
minDate.setMonth(minDate.getMonth() + 1); // Add one to the month
if (e.range.columnStart == 2 && new Date(e.value.toString()) < minDate) {
Browser.msgBox('WARNING MESSAGE...');
}
}
函数onEdit(e){
var minDate=新日期();
minDate.setDate(minDate.getDate()+1);//在当天添加一个
minDate.setMonth(minDate.getMonth()+1);//向月份添加一个
如果(e.range.columnStart==2&&newdate(e.value.toString())
这将把从e.value获得的字符串日期解析为一个JavaScript日期对象,允许它与minDate进行比较。不接受早于明天的日期。
function onEdit(e) {
var sh=e.range.getSheet();
if(sh.getName()!='Sheet1')return;
var today=new Date();
var tomorrow=new Date(today.getFullYear(),today.getMonth(),today.getDate()+1).valueOf();
var setDate=new Date(e.range.getValue()).valueOf();
if (e.range.columnStart==2 && setDate<tomorrow){
SpreadsheetApp.getUi().alert("WARNING...I don't except dates sooner than tomorrow.")
}
}
函数onEdit(e){
var sh=e.range.getSheet();
如果(sh.getName()!='Sheet1')返回;
var today=新日期();
var明天=新日期(今天.getFullYear(),今天.getMonth(),今天.getDate()+1).valueOf();
var setDate=新日期(例如range.getValue()).valueOf();
如果(e.range.columnStart==2&&setDateYes,谢谢!最后,我决定以毫秒为单位处理所有日期,并成功地将它们进行了比较。我发现这在大多数情况下都是可取的。