Google Apps Script:
Comparer deux dates

Comment faire :

Dans Google Apps Script, les dates sont comparées en utilisant des objets Date de JavaScript, permettant l’utilisation de méthodes standards pour évaluer quelle date est la plus ancienne, la plus récente, ou si elles sont identiques. Voici une approche basique :

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

  // Comparer les dates
  if (date1 < date2) {
    Logger.log('La date1 est avant la date2');
  } else if (date1 > date2) {
    Logger.log('La date1 est après la date2');
  } else {
    Logger.log('Les deux dates sont identiques');
  }
}

// Exemple de sortie :
// La date1 est avant la date2

Pour des comparaisons plus détaillées (comme le nombre de jours entre deux dates), vous pouvez soustraire une date de l’autre, ce qui retourne la différence en millisecondes :

function daysBetweenDates() {
  var date1 = new Date('2023-04-01');
  var date2 = new Date('2023-04-15');
  
  var difference = date2 - date1;
  
  var jours = difference / (1000 * 60 * 60 * 24); // Convertir les millisecondes en jours
  Logger.log(jours + ' jours entre les dates');
}

// Exemple de sortie :
// 14 jours entre les dates

Approfondissement

Google Apps Script s’appuie sur les principes fondamentaux des objets Date de JavaScript pour la comparaison des dates, ce qui constitue un aspect fondamental du langage depuis sa création. L’utilisation des millisecondes comme valeur comparative depuis l’Époque Unix (1er janvier 1970) offre un haut niveau de précision pour déterminer les différences ou similitudes entre les dates.

Bien que cette approche soit efficace pour la plupart des cas d’utilisation dans le cadre de Google Apps Script, il est à noter que les opérations sur les dates — comme les corrections de fuseau horaire et les calculs d’année bissextile — peuvent parfois conduire à la confusion. Les développeurs d’autres horizons de programmation (comme Python, où les modules datetime et dateutil fournissent une gestion plus nuancée des dates) pourraient trouver que l’objet Date de JavaScript manque de fonctionnalités.

Pour une manipulation et des comparaisons de dates complexes au-delà des comparaisons simples, des bibliothèques telles que Moment.js (qui peuvent toujours être utilisées dans Google Apps Script via des API externes) offrent un ensemble riche de fonctionnalités qui pallient ces insuffisances. Cependant, l’objet Date de JavaScript natif continue de servir d’outil fiable pour la plupart des tâches de comparaison de dates, particulièrement dans le contexte de Google Apps Script et de son intégration avec la suite d’applications de Google.