Linux System Administration

Obtenir la date d’hier précisément sous Linux

Spread the love

Récupérer la date d’hier est une tâche fréquente dans les scripts et l’automatisation Linux. Ce guide présente deux méthodes fiables utilisant la commande intégrée date et explore les considérations relatives aux fuseaux horaires.

Table des matières

Utiliser la commande date

L’approche la plus simple consiste à utiliser directement la fonctionnalité « hier » intégrée à la commande date :

date -d "yesterday" +%Y-%m-%d

Cette commande :

  • date : appelle la commande date.
  • -d "yesterday" : spécifie que nous voulons la date d’hier.
  • +%Y-%m-%d : formate la sortie au format AAAA-MM-JJ. Vous pouvez personnaliser cela (par exemple, +%F, +%Y/%m/%d, +%d/%m/%Y).

Exemple : si aujourd’hui est le 27 octobre 2024, la sortie sera : 2024-10-26

Gérer les fuseaux horaires pour une plus grande précision

Pour les scripts nécessitant des calculs de date précis dans différents fuseaux horaires, une méthode plus robuste est nécessaire. Bien que la méthode précédente suffise généralement, des incohérences peuvent survenir en raison des transitions de l’heure d’été. Cette approche raffinée utilise le temps Unix :

date -d "@$(($(date +%s) - 86400))" +%Y-%m-%d

Cette commande :

  • date +%s : obtient l’heure actuelle en secondes depuis l’époque (1er janvier 1970, 00:00:00 UTC).
  • $(...) : substitution de commande, capture de la sortie de la commande interne.
  • - 86400 : soustrait 86 400 secondes (un jour).
  • @(...) : indique à date d’interpréter la valeur précédente comme des secondes depuis l’époque.
  • date -d "..." +%Y-%m-%d : formate l’heure Unix résultante au format AAAA-MM-JJ.

Cette méthode garantit la précision en manipulant directement le temps Unix, évitant les ambiguïtés potentielles liées au fuseau horaire.

Pour la plupart des scénarios, la première méthode utilisant date -d "yesterday" est suffisante. Cependant, pour les applications critiques ou les scripts multi-fuseaux horaires, la deuxième approche fournit une solution plus fiable. N’oubliez pas d’adapter le format de sortie à vos besoins spécifiques.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *