Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/12/2021, à 11: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, à 12:45)

Hors ligne

#2 Le 29/12/2021, à 11: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

En ligne

#3 Le 29/12/2021, à 12: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, à 12:06)


Vive la communauté du Libre !!!

Hors ligne

#4 Le 29/12/2021, à 12: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, à 12: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, à 12: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, à 12: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