Javascript 比较日期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.

我正在尝试设置一个脚本(用于google sheets),一旦我在第二列中引入日期,如果它比明天(或过去)早,它将返回一个带有特定消息的消息框。这是我迄今为止尝试过的,但似乎我在比较日期时做错了什么

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,谢谢!最后,我决定以毫秒为单位处理所有日期,并成功地将它们进行了比较。我发现这在大多数情况下都是可取的。