Google Apps Script:
השוואת שני תאריכים

איך ל:

ב-Google Apps Script, השוואת תאריכים מתבצעת באמצעות אובייקטים מסוג Date של JavaScript, מה שמאפשר להשתמש בשיטות סטנדרטיות להערכת איזה מהתאריכים הוא מוקדם יותר, מאוחר יותר, או אם הם זהים. הנה גישה בסיסית:

function compareDates() {
  var date1 = new Date('2023-04-01T00:00:00');
  var date2 = new Date('2023-04-15T00:00:00');

  // השוואת תאריכים
  if (date1 < date2) {
    Logger.log('Date1 הוא לפני Date2');
  } else if (date1 > date2) {
    Logger.log('Date1 הוא אחרי Date2');
  } else {
    Logger.log('שני התאריכים זהים');
  }
}

// פלט לדוגמא:
// Date1 הוא לפני Date2

להשוואות מדויקות יותר (כמו מספר הימים בין שני תאריכים), ניתן לחסר תאריך מהתאריך האחר, וזה מחזיר את ההפרש במילישניות:

function daysBetweenDates() {
  var date1 = new Date('2023-04-01');
  var date2 = new Date('2023-04-15');
  
  var difference = date2 - date1;
  
  var days = difference / (1000 * 60 * 60 * 24); // המרת מילישניות לימים
  Logger.log(days + ' ימים בין התאריכים');
}

// פלט לדוגמא:
// 14 ימים בין התאריכים

צלילה עמוקה

Google Apps Script מנצל את העקרונות המרכזיים של אובייקטים מסוג Date של JavaScript לצורך השוואת תאריכים, שהיה אספקט יסודי של השפה מאז הקמתה. השימוש במילישניות כערך להשוואה מאז העידן היוניקסי (ה-1 בינואר, 1970) מספק רמת דיוק גבוהה לקביעת הבדלים או דמיון בין תאריכים.

למרות שגישה זו יעילה לרוב שימושים בתחום ה-Google Apps Script, חשוב לציין כי פעולות על תאריכים — כמו תיקוני אזורי זמן וחישובי שנה מעוברת — לעיתים קרובות יכולות להוביל לבלבול. מפתחים מרקעים תכנותיים אחרים (כמו Python, שבו המודולים datetime ו-dateutil מספקים טיפול עדין יותר בתאריכים) עשויים לראות באובייקט Date של JavaScript כחסר בתכונות.

לטיפול מורכב בתאריכים ומניפולציות מעבר להשוואות פשוטות, ספריות כמו Moment.js (שניתן עדיין להשתמש בהן בתוך Google Apps Script דרך API-ים חיצוניים) מציעות סט עשיר של פונקציונליות שתוקפות לטפל בקצרות אלו. עם זאת, עצם האובייקט Date של JavaScript ממשיך לשמש ככלי אמין לרוב משימות השוואת התאריכים, במיוחד בהקשר של Google Apps Script והשילוב שלו עם חבילת האפליקציות של גוגל.