#python #date #datetime
Вопрос:
Допустим, у меня есть строка из 10 цифр, первые 6 цифр которой являются датой, а последние 4 цифры-военным временем.
1504230001
Первые 2 цифры-год, следующие 2-месяц, следующие 2-день. Оставшиеся 4 цифры относятся к военному времени
Желаемый результат:
2015-04-23 00:01:00
Комментарии:
1. что такое военное время? Кроме того, в чем конкретно заключается проблема?
2. Взгляните на
strptime()
Ответ №1:
Как уже упоминалось в комментариях datetime.strptime()
, это правильный путь:
from datetime import datetime
time = 1504230001
time2 = datetime.strptime(str(time), '%y%m%d%H%M')
print(time2.strftime('%Y-%m-%d %H:%M:%S'))
Выход:
2015-04-23 00:01:00
Комментарии:
1. Спасибо! есть ли какая-либо причина для strftime(). я напечатал time2 напрямую, и это то же самое, что вызвать time2.strftime()
2. Да, это вывод на печать объекта datetime. Вы можете согласиться с этим, если хотите только распечатать выходные данные. Если вам нужно строковое представление объекта datetime, вы можете назначить его следующим образом:
time_string = time2.strftime('%Y-%m-%d %H:%M:%S')
.