Google Apps Script:
Twee datums vergelijken

Hoe:

In Google Apps Script worden datums vergeleken met behulp van JavaScript Date objecten, waardoor het gebruik van standaardmethoden mogelijk is om te evalueren welke van de twee datums vroeger is, later of als ze hetzelfde zijn. Hier is een basisaanpak:

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

  // Datums vergelijken
  if (date1 < date2) {
    Logger.log('Date1 is voor Date2');
  } else if (date1 > date2) {
    Logger.log('Date1 is na Date2');
  } else {
    Logger.log('Beide datums zijn hetzelfde');
  }
}

// Voorbeelduitvoer:
// Date1 is voor Date2

Voor meer gedetailleerde vergelijkingen (zoals het aantal dagen tussen twee datums) kun je de ene datum van de andere aftrekken, wat het verschil in milliseconden teruggeeft:

function daysBetweenDates() {
  var date1 = new Date('2023-04-01');
  var date2 = new Date('2023-04-15');
  
  var verschil = date2 - date1;
  
  var dagen = verschil / (1000 * 60 * 60 * 24); // Zet milliseconden om in dagen
  Logger.log(dagen + ' dagen tussen datums');
}

// Voorbeelduitvoer:
// 14 dagen tussen datums

Diepgaand

Google Apps Script maakt gebruik van de kernprincipes van JavaScript Date objecten voor datumvergelijking, wat een fundamenteel aspect van de taal is sinds het begin. Het gebruik van milliseconden als een vergelijkingswaarde sinds de Unix Epoch (1 januari 1970) biedt een hoge mate van precisie voor het bepalen van verschillen of overeenkomsten tussen datums.

Hoewel deze aanpak effectief is voor de meeste gebruiksgevallen binnen het bereik van Google Apps Script, is het vermeldenswaard dat bewerkingen op datums - zoals tijdzonecorrecties en schrikkeljaarberekeningen - soms tot verwarring kunnen leiden. Ontwikkelaars met een andere programmeerachtergrond (zoals Python, waar datetime en dateutil modules een meer genuanceerde omgang met datums bieden) kunnen het JavaScript Date object als gebrekkig beschouwen.

Voor complexe datumverwerking en manipulaties die verder gaan dan eenvoudige vergelijkingen, bieden bibliotheken zoals Moment.js (die nog steeds binnen Google Apps Script kunnen worden gebruikt via externe API’s) een rijk scala aan functionaliteiten die deze tekortkomingen aanpakken. Echter, het native JavaScript Date object blijft een betrouwbaar gereedschap voor de meeste vergelijkingstaken van datums, in het bijzonder binnen de context van Google Apps Script en de integratie ervan met de suite van Google-toepassingen.