#1 Le 29/12/2021, à 10:50
- vercoucas
transformer une date anglaise en date française [RÉSOLU]
Bonjour à tous
Dans un script je récupère une date au format anglo-saxon et je souhaite l'afficher en format français.
J'ai écrit la ligne suivante qui me donne le bon résultat, mais j'ai l'impression de passer à coté de quelque chose de plus simple (surtout pour le mois du milieu)
xx=2021-12-29 ; datefr="${xx##*-}-$(echo $xx|cut -d - -f2)-${xx%%-*}" ; echo $datefr
29-12-2021
Merci de votre aide
Dernière modification par vercoucas (Le 29/12/2021, à 11:45)
Hors ligne
#2 Le 29/12/2021, à 10:58
- nany
Re : transformer une date anglaise en date française [RÉSOLU]
Bonjour,
date -d 2021-12-29 +%d-%m-%Y
Pour plus d’info :
man date
Hors ligne
#3 Le 29/12/2021, à 11:03
- Amiralgaby
Re : transformer une date anglaise en date française [RÉSOLU]
nani à trouvé mieux que moi :
echo "2021-12-29" | sed -E "s/^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/\3-\2\-\1/g"
Dernière modification par Amiralgaby (Le 29/12/2021, à 11:06)
Vive la communauté du Libre !!!
Hors ligne
#4 Le 29/12/2021, à 11:07
- vercoucas
Re : transformer une date anglaise en date française [RÉSOLU]
Merci nany,
Je n'ai pas été assez précis. Il s'agit d'une date que je récolte avec
derdate=$(stat -c %y /media/$USER/data/hp8300_${USER:0:3}/ |cut -d " " -f1)
Pour connaître la date de ma sauvegarde précédente, et bien que la réponse de stat soit en français, le format de la date est anglais
Hors ligne
#5 Le 29/12/2021, à 11:14
- mazarini
Re : transformer une date anglaise en date française [RÉSOLU]
As tu essayé :
date -d $derdate +%d-%m-%Y
La solution de nany me semble excellente.
Eventuellement :
date -d $(stat -c %y /media/$USER/data/hp8300_${USER:0:3}/ |cut -d " " -f1) +%d-%m-%Y
S'il existait une école de la politique, les locaux devraient être édifiés rue de la Santé. Les élèves pourraient s'habituer. (Pierre Dac)
Hors ligne
#6 Le 29/12/2021, à 11:18
- Amiralgaby
Re : transformer une date anglaise en date française [RÉSOLU]
Je pense même que
date -d "@$(stat -c '%Y' /media/$USER/data/hp8300_${USER:0:3}/)" +%d-%m-%Y
convient mieux
Vive la communauté du Libre !!!
Hors ligne
#7 Le 29/12/2021, à 11:31
- vercoucas
Re : transformer une date anglaise en date française [RÉSOLU]
Effectivement, j'ai lu trop vite et n'ai pas vu le redressement effectué par la commande date
derdate=2021-12-30 ; date -d $derdate +%d-%m-%Y
30-12-2021
La commande fonctionne parfaitement et est effectivement beaucoup plus simple que ce que j'avais trouvé.
Merci à tous et bonne fin d'année
Hors ligne