#python
#python
Вопрос:
Я хочу извлечь значения времени из объекта datetime в Python. Это код, который я использовал:
t = '2018-12-16 17:59:00'
t.strftime('%H:%M:%S')
С кодом явно что-то не так, потому что я получаю эту ошибку:
AttributeError: 'str' object has no attribute 'strftime'
Я использую Python 3, и мне нужно преобразовать около 30000 значений datetime.
Комментарии:
1. Это в основном потому, что вы используете строку, а не
datetime
объект. И, кстати, вы извлекаете время, а не дату, как написано в заголовке.
Ответ №1:
from datetime import datetime as dt
t = '2018-12-16 17:59:00'
t = dt.strptime(t, '%Y-%m-%d %H:%M:%S')
print(t.strftime('%H:%M:%S'))
в методах datetime
strptime — это способ преобразования строки в datetime
strftime — это метод преобразования datetime в string
Ответ №2:
Это строка, а не объект datetime. Вероятно, вам следует использовать объект datetime:
t = datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])
Но если вы хотите использовать свою строку, вы можете разделить ее на две части (разделенные пробелом):
t = t.split() # t = ['2018-12-16', '17:59:00']
Затем переходим к первой части:
date = t[0]