将日期时间转换为时间(Python)

13

我有:

test_date = "2017-07-20-10-30"

然后使用:

day = datetime.strptime(test_date[11:], "%H-%M")

这给了我

1900-01-01 10:30:00

我该如何将10:30:00转化为 datetime.time 类型?


可能是将字符串转换为日期时间的重复问题。 - fredtantini
2个回答

16

但是这会返回字符串。我仍然想要<type 'datetime.time'>。 - Mat.S
9
哦,使用 day.time() - Cory Madden
如果我有一个 Pandas Series 的日期时间对象,我想要时间怎么办? - AstroFloyd
我想在matplotlib图中仅使用时间刻度标签,可以按照此答案的说明实现。 - AstroFloyd

3
你可以使用 datetime.datetime.strptime 方法将字符串转换为 datetime 对象,然后调用 .time() 方法来获取时间:
from datetime import datetime

strg = "2017-07-20-10-30"

dt = datetime.strptime(strg, '%Y-%m-%d-%H-%M')
tme = dt.time()
print(tme)  # 10:30:00

strftime()strptime() 的行为 已经有很好的文档说明。

当然,你也可以将这些调用链接在一起:

tme = datetime.strptime(strg, '%Y-%m-%d-%H-%M').time()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接