Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

156
Views
Google script matching tomorrows date with a google forms date input

I have tried to match tomorrow's date with the date that gets submitted via google form. in the logger it appears to match but it wont log YES and doesnt evaluate true.

My effort:

function ArchiveTuesdayOrder() {
  let dt = new Date();
  let t = new Date(dt.getFullYear(),dt.getMonth(),dt.getDate() + 1);//default for items not provided in the constructor is zero
 
  const date = new Date();
  date.setDate(date.getDate() + 1);
  var tom = Utilities.formatDate(date, "America/New_York", 'EEE MMM dd yyyy HH:mm:ss Z');
  var tomDate = Utilities.formatDate(date, "America/New_York", "MM-dd-yyyy");
  var sheetActive = SpreadsheetApp.openById("xxxxxxxxxxxxxx");
  var sheet = sheetActive.getSheetByName("xxxxxxxxxxxxxx");
  //var orderDate = sheet.getRange(2,3,100).getValues();
  var orderdateRange = sheet.getRange(2, 4, 100);
  var orderDate = orderdateRange.getValues();

  Logger.log(tom.substring(0,10))
  Logger.log(t);
  for (var i = 0; i < orderDate.length; i++) {

  Logger.log(orderDate[i])
 if (t === orderDate[i]) {    // This is what I cant get to evaluate true- No Match
    Logger.log("YES"+orderDate)
  }}}
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

function tomorrow() {
  let dt = new Date();
  dt.setDate(dt.getDate() + 1);
  Logger.log(dt);
  return dt.valueOf();//milliseconds can be used in numerical comparisons
}

function tomorrowstartofday() {
  let dt = new Date();
  let t = new Date(dt.getFullYear(),dt.getMonth(),dt.getDate() + 1);//default for items not provided in the constructor is zero
  Logger.log(t);
  return t.valueOf();
}

Here's a small example of picking timestamp that occur within a day:

The fake data:

TimeStamp day type
10/11/2021 0:00:00 yesterday
10/11/2021 12:00:00 yesterday
10/12/2021 0:00:00 start of day
10/12/2021 12:00:00 today
10/13/2021 0:00:00 tomorrow
10/13/2021 12:00:00 tomorrow

The code:

function timestampsfortoday() {
  const dt = new Date();
  const tod = new Date(dt.getFullYear(),dt.getMonth(),dt.getDate()).valueOf();//today
  const tom = new Date(dt.getFullYear(),dt.getMonth(),dt.getDate() + 1).valueOf();//tomorrow
  let ts = [];
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName('Sheet0');
  const vs = sh.getRange(2,1,sh.getLastRow() - 1,2).getValues();
  vs.forEach(r => {
    let d = new Date(r[0]).valueOf();//using Date() constructor to get date value from timestamp
    if(d > tod && d < tom) {
      ts.push(r);
    }
  });
  Logger.log(ts.join('\n'))
}

The Execution Log:

9:58:44 AM  Notice  Execution started
9:58:46 AM  Info    Tue Oct 12 2021 12:00:00 GMT-0600 (Mountain Daylight Time),today
9:58:45 AM  Notice  Execution completed

It only picked the row with today in the second column because that's the only one between start of day today and start of day tomorrow.

If you use this line for the comparison in the loop:

if(d >= tod && d < tom)

You get this:

Execution log
10:05:58 AM Notice  Execution started
10:05:59 AM Info    Tue Oct 12 2021 00:00:00 GMT-0600 (Mountain Daylight Time),start of day
Tue Oct 12 2021 12:00:00 GMT-0600 (Mountain Daylight Time),today
10:05:59 AM Notice  Execution completed
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!