2015-10-08 3 views
0

Я хочу конвертировать эпоху как «26/11/05 06: 00: 01,057000000» в yyyy-mm-ddThh: mm: ss using linux?Как преобразовать dd/mm/yy hh: mm: ss в yyyy-mm-ddThh: mm: ss using linux?

Я попытался с помощью следующего сценария, не повезло:

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

Выход:

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

Эта [Тема] (http://stackoverflow.com/questions/6508819/convert-date-formats-in-bash) может помочь вам с четким ансваром. –

+0

где находится часть, где вы пытаетесь разобрать входящую дату? – Marged

+0

Что такое 26/11/05? Это то, что 26 ноября 2005 года, или 5 ноября 2026 года, или что-то еще? И есть ли «, 057000000» десятичная часть секунд? – psmears

ответ

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()) 

Пример (сохранить приведенный выше код convert-time-format и запустить
chmod +x convert-time-format):

$ ./convert-time-format 26/11/05 06:00:01,057000000 
2005-11-26T06:00:01.057000 
Смежные вопросы