我想从Python中的datetime对象提取时间值。这是我使用的代码:
t = '2018-12-16 17:59:00'
t.strftime('%H:%M:%S')
代码显然有问题,因为我收到此错误:
AttributeError: 'str' object has no attribute 'strftime'
我正在使用Python 3,我需要转换大约30000个日期时间值。
答案 0 :(得分: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'))
在日期时间方法中
strptime是从字符串转换为日期时间的方法
strftime是从日期时间转换为字符串的方法
答案 1 :(得分:0)
这是一个字符串,而不是日期时间对象。您可能应该使用datetime对象:
t = datetime(year, month, day[, hour[, minute[, second[, microsecond[,tzinfo]]]]])
但是,如果要使用您的字符串,可以将其拼接为两个(以空格分隔)的部分:
t = t.split() # t = ['2018-12-16', '17:59:00']
然后参加第一部分:
date = t[0]