-2

我想从 Python 中的 datetime 对象中提取时间值。这是我使用的代码:

t = '2018-12-16 17:59:00'
t.strftime('%H:%M:%S')

代码显然有问题,因为我收到此错误:

AttributeError: 'str' object has no attribute 'strftime'

我正在使用 Python 3,我需要转换大约 30000 个日期时间值。

4

2 回答 2

3
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 是将日期时间转换为字符串的方法

于 2019-04-25T04:58:29.727 回答
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]
于 2019-04-25T04:54:34.667 回答