2015-10-08 1 views
0

Je veux convertir une époque comme "26/11/05 06: 00: 01,057000000" en aaaa-mm-jjThh: mm: ss en utilisant linux?Comment convertir jj/mm/aa hh: mm: ss en aaaa-mm-jjThh: mm: ss en utilisant linux?

J'ai essayé d'utiliser le script suivant avec pas de chance:

echo 26/11/05 06:00:01,057000000 | awk '{ print strftime("%Y-%m-%d %H:%M:%S",$1) }' 

Sortie:

1970-01-01 01:00:26 
+0

Cette [Sujet] (http://stackoverflow.com/questions/6508819/convert-date-formats-in-bash) peut vous aider avec une réponse claire. –

+0

où est la partie où vous essayez d'analyser la date entrante? – Marged

+0

Qu'est-ce que 26/11/05? Est-ce le 26 novembre 2005, ou le 5 novembre 2026, ou autre chose? Et est le ", 057000000" la partie décimale des secondes? – psmears

Répondre

0
#!/usr/bin/env python 
import sys 
from datetime import datetime 

time_string = ' '.join(sys.argv[1:]) 
dt = datetime.strptime(time_string, '%d/%m/%y %H:%M:%S,%f000') 
print(dt.isoformat()) 

Exemple (enregistrer le code ci-dessus pour convert-time-format et exécuter
chmod +x convert-time-format):

$ ./convert-time-format 26/11/05 06:00:01,057000000 
2005-11-26T06:00:01.057000