La commande Date est un programme bash externe qui permet de régler ou afficher la date et l’heure du système. Il fournit également plusieurs options de formatage. La commande Date est installée par défaut dans toutes les distributions Linux.

$ which date
$ type -a date
Rechercher l'emplacement de la commande de date
Rechercher l’emplacement de la commande de date

Type commande date dans le terminal qui affichera la date et l’heure actuelles.

$ date
Vérifier la date sous Linux
Vérifier la date sous Linux

Modifier la date et l’heure du système Linux

En utilisant commande date, la date, l’heure et le fuseau horaire du système peuvent être modifiés et le changement doit être synchronisé avec l’horloge matérielle.

$ date --set="Thu Nov 12 13:06:59 IST 2020"
$ hwclock --systohc
Définir la date et l'heure du système Linux
Définir la date et l’heure du système Linux

Options de formatage

Un bon endroit pour obtenir la liste des options de formatage sera la page de manuel.

$ man date

Voyons quelques-unes des options de formatage les plus courantes que nous utiliserons.

  • Pour appliquer la mise en forme, utilisez “+ suivi par “formateur«.
  • Pour obtenir une liste des options de formatage pour GNU LINUX, jetez un œil au lien page de manuel.
  • Pour obtenir une liste des options de formatage pour BSD, jetez un œil au lien page de manuel.

Les deux parties importantes de la commande date utilise le format +% et l’option –date.

Maintenant, appliquons une mise en forme sur le commande date. Pour appliquer la mise en forme, ajoutez le signe plus (+) suivi par %formatter comme indiqué dans les exemples.

Gestion de la date sous Linux

Voyons comment utiliser les formateurs liés à la date dans un script shell simple appelé ‘date.sh».

# PRINT YEAR,MONTH,DAY AND DATE...

echo "We are in the year = $(date +%Y)"
echo "We are in the year = $(date +%y)"

# Difference between %Y and %y is %Y will print 4 digits while %y will print the last 2 digits of the year.

echo "We are in the month = $(date +%m)"
echo "We are in the month = $(date +%b)"
echo "We are in the month = $(date +%B)"

# Difference between %B and %b is, %B will print full month name while %b will print abbreviated month name.

echo "Current Day of the month = $(date +%d)"

echo "Current Day of the week = $(date +%A)"
echo "Current Day of the week = $(date +%a)"

# Difference between %A and %a is, %A will print full Weekday name while %a will print abbreviated weekday name.

# Instead of formatting to get the date, we can use %D which will print the date as %m/%d/%y or %F which prints in %Y-%M-%d format.

echo "Date using %D = $(date +%D)"
echo "Date using %F = $(date +%F)"
Rechercher la date et l'heure à l'aide d'un script
Rechercher la date et l’heure à l’aide d’un script

Temps de traitement sous Linux

Voyons comment utiliser temps formateurs associés dans un simple script shell appelé ‘time.sh».

# PRINT HOURS, MINS, SECONDS, NANO SECONDS

echo Hours = $(date +%H)
echo Minutes = $(date +%M)
echo Seconds = $(date +%S)
echo Nanoseconds = $(date +%N)
echo Epoch Time = $(date +%s)

echo "current time = $(date +%H:%M:%S:%N)"

# can also use %T which displays Time in HH:MM:SS format.

echo "current time in 24 hour format = $(date +%T)"

# can also use %r to display time in 12 hour format.

echo "current time in 12 hour format = $(date +%r)"
Rechercher du temps sous Linux à l'aide d'un script
Rechercher du temps sous Linux à l’aide d’un script

Avec –date ou -d indicateur

Avec --date ou -d L’entrée de l’indicateur peut être passée sous forme de chaîne et commande date sait comment le gérer intelligemment.

Voyons quelques exemples pour comprendre comment cela fonctionne.

# Print yesterday's date and time.
echo "Yesterday = $(date -d "Yesterday")"

# Print Tomorrow date and time.
echo "tomorrow = $(date -d "tomorrow")"

# Find what is the date and time before 10 days from now.
echo "Before 10 days = $(date -d "tomorrow -10 days")"

# Find last month and next month
echo "Last month = $(date -d "last month" "%B")"
echo "Next month = $(date -d "next month" "%B")"

# Find last year and next year
echo "Last Year = $(date -d "last year" "+%Y")"
echo "Next Year = $(date -d "next year" "+%Y")"

# Forecast the weekday
echo "2 days away from today and it comes on weekdays? = $(date -d "Today +2 days" "+%A")
Vérifier la date à l'aide du formatage
Vérifier la date à l’aide du formatage

Opérations communes

calculer le nombre de jours entre 2 dates données.

$ echo $(( ( $(date -d "2020-11-10" "+%s") - $(date -d "2020-11-01" "+%s") ) / 86400))

Trouvez que l’année donnée est une année bissextile ou non.

$ for y in {2000..2020}; do date -d $y-02-29 &>/dev/null && echo $y is leap year; done
Trouver une année bissextile sous Linux
Trouver une année bissextile sous Linux

Affectation de la sortie de la commande de date à une variable.

$ TODAY=$(date +%Y-%m-%d)
OR
$ TODAY1=$(date +%F)
$ echo $TODAY 
$ echo $TODAY1
Attribuer une date à une variable
Attribuer une date à une variable

Créez des fichiers journaux avec la date ajoutée au nom de fichier.

L’ajout de la date et de l’heure lors de la création de fichiers journaux, de sauvegarde ou de fichiers texte est une opération courante que nous rencontrerons le plus souvent. Prenons un exemple, pour faire une sauvegarde, nous avons créé un script shell.

Ce script effectuera une sauvegarde de 00h00 à 23h59 et sera exécuté quotidiennement à 00h00 le jour suivant. Nous voulons créer des fichiers journaux avec le format de date d’hier.

CUSTOM_FORMAT=$(date --date "Yesterday" "+%d-%y-%H:%M")
LOG_FILE=/var/log/custom_application/application_${CUSTOM_FORMAT}.log
echo "Script started" >>  ${LOG_FILE}
...
CODE BLOCKS
...
echo "Script completed" >> ${LOG_FILE}

Voilà pour cet article. Dans cet article, nous avons vu comment utiliser la date et l’heure bash sous Linux. Faites-nous part de vos commentaires.

Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer:

TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint! pour rechercher ou parcourir les milliers d’articles publiés disponibles GRATUITEMENT à tous.

Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en guise de remerciement.

Soutenez-nous

Nous sommes reconnaissants pour votre soutien sans fin.

.

Leave a Reply