如何从unicode字符串创建datetime对象?

时间:2017-02-24 00:44:06

标签: python datetime unicode python-unicode

我在使用这种格式转换python时遇到了麻烦:

u'08:00:00' 

datetime对象,如:

datetime.datetime(2017,02,22,8,0,0)

这是一种简单的方法吗?

我可以通过解析字符串但寻找更优雅的解决方案

来实现

1 个答案:

答案 0 :(得分:1)

首先,您需要解析时间字符串。您可以手动执行此操作,也可以使用datetime.strptime()

from datetime import datetime

s = u'08:00:00'
t = datetime.strptime(s, '%H:%M:%S').time()

strptime()并不关心你给它一个unicode字符串。那会给你一个datetime.time对象:

>>> t
datetime.time(8, 0)

然后使用datetime.combine()将时间与今天的日期结合起来:

from datetime import date

dt = datetime.combine(date.today(), t)

这将为您提供所需的datetime.datetime对象:

>>> dt
datetime.datetime(2017, 2, 24, 8, 0)