Formater la date et l'heure dans Bash

Nilesh Katuwal 30 janvier 2023
  1. Utilisation du printf intégré pour formater la date et l’heure dans Bash
  2. Utilisation de la commande date Format Date et heure dans Bash
Formater la date et l'heure dans Bash

Pour formater une date ou une heure dans un script shell Linux, utilisez la commande date standard.

La même commande peut être utilisée avec le script shell. La commande date sous Linux affiche et modifie la date et l’heure du système.

Les utilisateurs peuvent également utiliser cette commande pour imprimer l’heure dans différents formats et calculer les dates futures et précédentes.

Utilisation du printf intégré pour formater la date et l’heure dans Bash

Il est préférable d’utiliser le formateur de date intégré printf au lieu du formateur de date externe dans une version bash supérieure ou égale à 4.2.

Pour obtenir au format YYYY-MM-DD :

$ printf '%(%Y-%m-%d)T\n' -1

-1 indique l’heure actuelle.

Production :

2021-12-21

Nous pouvons également écrire la commande ci-dessus comme suit :

$ printf '%(%F)T\n' -1

Production :

2021-12-21

Nous pouvons enregistrer l’heure actuelle en utilisant -v et en spécifiant le nom de la variable. Pour enregistrer l’heure courante dans une variable cdate et l’imprimer, on peut faire ceci :

$ printf -v cdate '%(%F)T' -1
$ echo $cdate

La commande ci-dessus a capturé la date actuelle en tant que variable et l’a stockée dans cdate, et echo imprimera la valeur de la variable.

Production :

2021-12-21

Utilisation de la commande date Format Date et heure dans Bash

On peut utiliser la commande date pour les versions bash inférieures à 4.2.

Pour afficher la date du jour au format MM-DD-YY :

$ date +"%m-%d-%y"

Le symbole + indique une chaîne de format définie par l’utilisateur qui spécifie comment la date et l’heure doivent être affichées.

Production :

12-21-21

Pour convertir l’année en quatre chiffres, remplacez y par Y.

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

Production :

12-21-2021

Nous pouvons également faire ce qui suit pour imprimer la date actuelle au format YYYY-MM-DD.

$ date -I

Production :

2021-12-21

Pour afficher l’heure uniquement :

$ date +"%T"

Production :

13:01:00

Pour afficher l’heure au format HH:MM :

$ date +"%H-%M"

Production :

13-02

Pour stocker la date actuelle dans une variable shell, nous pouvons procéder comme suit :

$ cdate=$(date +"%m-%d-%Y")
$ echo $cdate

Nous avons capturé la date actuelle et l’avons stockée dans cdate. echo imprime la valeur cdate.

Production :

12-21-2021

Pour ajouter N jours dans la date, on utilise la commande suivante :

date -d="YYYY-MM-DD+N days"

Prenons un exemple.

$ date -d "2021-12-21+20 days"

Production :

Mon 10 Jan 2022 12:00:00 AM