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('Дата1 є раніше ніж Дата2');
  } else if (date1 > date2) {
    Logger.log('Дата1 є пізніше ніж Дата2');
  } else {
    Logger.log('Обидві дати однакові');
  }
}

// Приклад виводу:
// Дата1 є раніше ніж Дата2

Для більш детального порівняння (наприклад, кількість днів між двома датами), ви можете відняти одну дату від іншої, що повертає різницю в мілісекундах:

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 для порівняння дат, що було основним аспектом мови з моменту її створення. Використання мілісекунд як порівняльної величини з часу Unix Epoch (1 січня 1970 року) забезпечує високий рівень точності для визначення різниці або схожостей між датами.

Хоча цей підхід ефективний для більшості випадків використання в рамках Google Apps Script, варто зазначити, що операції над датами — як корекції часових зон та розрахунки високосних років — іноді можуть призводити до плутанини. Розробники з інших програмних середовищ (наприклад, Python, де модулі datetime та dateutil забезпечують більш витончене поводження з датами) можуть вважати, що об’єкт Date в JavaScript має недостатньо можливостей.

Для складного поводження з датами та маніпуляцій, що виходять за рамки простих порівнянь, бібліотеки, такі як Moment.js (яка все ще може використовуватися в Google Apps Script через зовнішні API), пропонують багатий набір функціональностей, що вирішують ці недоліки. Однак, нативний об’єкт Date в JavaScript продовжує служити надійним інструментом для більшості завдань порівняння дат, особливо в контексті Google Apps Script та його інтеграції з набором програм Google.