Format de dateheure différent dans le shell

Paramètres

Formater Interprété comme
%% signe de pourcentage littéral (%)
%A nom du jour de la semaine (par exemple dimanche)
%a nom du jour de la semaine en format court (par exemple Soleil)
%B nom du mois complet (par exemple, janvier)
%b nom du mois (par exemple Jan)
%H heure (00..23)
%I heure (01..12)
%j jour de l’année (001..366)
%k heure ( 0..23)
%l heure ( 1..12)
%M minutes (00..59)
%m mois (01..12)
%p Définissez AM ou PM ; vide si non connu
%R 24 heures heure et minute; identique à %H:%M
%r Heure d’horloge de 12 heures (par exemple, 23:11:04 PM)
%S seconde (00..60)
%s Époque Unix : secondes depuis le 1970-01-01 00:00:00 UTC (non disponible dans les anciens UNIX)
%T temps, équivalent à %H:%M:%S
%Z nom du fuseau horaire (par exemple PDT)
%z décalage de fuseau horaire (sens, heures, minutes, par exemple -0700)

Vous trouverez ci-dessous quelques liens utiles pour la commande date dans les shells Unix :

  • Linux : page de manuel GNU pour la date, inclut les codes de format, voir aussi [page de manuel GNU pour strftime](http : //man7.org/linux/man-pages/man3/strftime.3.html)
  • FreeBSD : page de manuel BSD pour la date, les codes de format se trouvent dans la [page de manuel BSD pour strftime](http://www .unix.com/man-page/FreeBSD/3/strftime/)
  • Apple : page de manuel OS X pour la date, les codes de format vivent dans [OS X page de manuel pour strftime] (https://developer.apple.com/library/Mac/documentation/Darwin/Reference/ManPages/man3/strftime.3.html)
  • Époque : [heure Unix] (https://en.wikipedia.org/wiki/Unix_time), également appelée heure POSIX (%s, secondes depuis 1970)

Exemple de code et sortie

#!/bin/bash

#Print Date / Time in different Formats
date1=$(date +'%d-%m-%y')
date2=$(date +'%d-%m-%Y')
date3=$(date +'%d-%b-%Y')
date4=$(date +'%d-%B-%Y')
date5=$(date +'%a %d-%b-%Y')
date6=$(date +'%a %d-%b-%Y  %Z')
date7=$(date +'%A %d-%b-%Y')

echo "Print Date in different format"
echo $date1
echo $date2
echo $date3
echo $date4
echo $date5
echo $date6
echo $date7
echo

#print Timestamp
time1=$(date '+%H:%M:%S')
time2=$(date '+%I:%M:%S')
time3=$(date '+%r')
time4=$(date '+%R')

echo "Print Time in different format"
echo "Time in 24h clock: $time1"
echo "Time in 12h clock: $time2"
echo "Time with AM/PM: $time3"
echo "Time in hour&minute: $time4"

exit

Production

Print Date in different format
01-08-16
01-08-2016
01-Aug-2016
01-August-2016
Mon 01-Aug-2016
Mon 01-Aug-2016 IST
Monday 01-Aug-2016

Print Time in different format
Time in 24h clock: 15:16:06
Time in 12h clock: 03:16:06
Time with AM/PM: 03:16:06 PM
Time in hour&minute: 15:16