#1 Le 03/07/2018, à 14:57
- julien01
Convertir date UTC en locale
Bonjour,
J'ai un fichier CSV sous cette forme :
date_UTC;heure_UTC;colonne1,colonne2
(la date est au format AAAAMMDD , l'heure HHMMSS)
Je souhaiterai pouvoir convertir les dates et heures de ce CSV au format heure locale (soit en France actuelle +2 heures par rapport a UTC) tout en conservant mes autres colonnes.
J'avais réussi a faire l'inverse avec un script en bash ou je passe mon fichier en argument, mais là je coince...
Hors ligne
#2 Le 03/07/2018, à 17:07
- erresse
Re : Convertir date UTC en locale
Bonjour,
À titre d'essai, passe cette ligne
date;date --date '2 hours'
Tu obtiens la date courante du jour et la date avec 2 heures de plus.
Après, il faut adapter pour traiter la date provenant de ton fichier au lieu de celle du jour, mais c'est une piste à creuser...
Edit: par exemple
date -d "2018-07-03 23:00 2 hours"
mercredi 4 juillet 2018, 01:00:00 (UTC+0200)
Dernière modification par erresse (Le 03/07/2018, à 17:17)
Plus de 50 ans d'informatique, ça en fait des lignes de commandes en console, mais on n'avait pas le choix...
Excellente raison pour, aujourd'hui qu'on le peut, utiliser au maximum les INTERFACES GRAPHIQUES !
Important : Une fois le problème solutionné, pensez à clore votre sujet en ajoutant [Résolu] devant le titre du 1er message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci.
Hors ligne
#3 Le 03/07/2018, à 18:27
- pingouinux
Re : Convertir date UTC en locale
Bonjour,
Il y a sans doute plus simple. Il faudra aussi ne pas traiter la ligne de titres.
while IFS=";" read d h suite
do
h=$(sed -r 's/(..)/\1:/g;s/.$//' <<<"$h")
date -d @$(date -ud "$d $h" +"%s") +"%Y%m%d;%H%M%S;$suite"
done <fichier1.csv >fichier2.csv
Édité :
Et pour recopier sans y toucher la première ligne du fichier :
(
head -1
while IFS=";" read d h suite
do
h=$(sed -r 's/(..)/\1:/g;s/.$//' <<<"$h")
date -d @$(date -ud "$d $h" +"%s") +"%Y%m%d;%H%M%S;$suite"
done
) <fichier1.csv >fichier2.csv
Dernière modification par pingouinux (Le 03/07/2018, à 18:31)
Hors ligne
#4 Le 03/07/2018, à 21:35
- julien01
Re : Convertir date UTC en locale
Un grand merci, ça marche à la perfection !
Hors ligne