Google Apps Script:
Kahden päivämäärän vertailu

Miten:

Google Apps Scriptissä päivämääriä verrataan käyttämällä JavaScriptin Date-objekteja, mikä mahdollistaa standardimenetelmien käytön arvioitaessa, kumpi kahdesta päivämäärästä on aikaisempi, myöhäisempi tai ovatko ne samat. Tässä on peruslähestymistapa:

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

  // Vertaa päivämääriä
  if (date1 < date2) {
    Logger.log('Päivämäärä1 on ennen päivämäärää2');
  } else if (date1 > date2) {
    Logger.log('Päivämäärä1 on päivämäärän2 jälkeen');
  } else {
    Logger.log('Molemmat päivämäärät ovat samat');
  }
}

// Esimerkkituloste:
// Päivämäärä1 on ennen päivämäärää2

Tarkempiin vertailuihin (kuten päivien määrään kahden päivämäärän välillä) voit vähentää toisesta päivämäärästä toisen, mikä palauttaa eron millisekunteina:

function daysBetweenDates() {
  var date1 = new Date('2023-04-01');
  var date2 = new Date('2023-04-15');
  
  var ero = date2 - date1;
  
  var päivät = ero / (1000 * 60 * 60 * 24); // Muunna millisekunnit päiviksi
  Logger.log(päivät + ' päivää päivämäärien välillä');
}

// Esimerkkituloste:
// 14 päivää päivämäärien välillä

Syväsukellus

Google Apps Script hyödyntää JavaScriptin Date-objektien perusperiaatteita päivämäärien vertailussa, mikä on ollut kielen perustavaa laatua oleva osa sen alusta lähtien. Millisekuntien käyttö vertailuarvona Unix Epochin (1. tammikuuta 1970) jälkeen tarjoaa suuren tarkkuusasteen päivämäärien erojen tai yhtäläisyyksien määrittämiseksi.

Vaikka tämä lähestymistapa on tehokas useimmissa Google Apps Scriptin sovellusalueissa, on syytä huomata, että päivämäärien käsittelyyn liittyvät toiminnot - kuten aikavyöhykkeiden korjaukset ja karkausvuosilaskelmat - voivat joskus johtaa sekaannukseen. Kehittäjät muista ohjelmointitaustoista (kuten Python, jossa datetime ja dateutil moduulit tarjoavat hienostuneemman käsittelyn päivämäärille) saattavat pitää JavaScriptin Date-objektia ominaisuuksiltaan puutteellisena.

Monimutkaisempaan päivämäärien käsittelyyn ja manipulointiin yksinkertaisten vertailujen ulkopuolella, kirjastot kuten Moment.js (jota voidaan edelleen käyttää Google Apps Scriptissä ulkoisten API:en kautta) tarjoavat rikkaan joukon toiminnallisuuksia, jotka käsittelevät näitä puutteita. Kuitenkin natiivi JavaScriptin Date-objekti jatkaa toimimista luotettavana työkaluna useimmissa päivämäärien vertailutehtävissä, erityisesti Google Apps Scriptin ja sen integraation yhteydessä Googlen sovelluskokonaisuuden kanssa.