2017-02-24 90 views
0

我haviing麻烦从这种格式在Python转换:如何从一个unicode字符串创建datetime对象?

u'08:00:00' 

datetime对象,如:

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

什么是简单的方法来做到这一点?

我可以只解析字符串,但在寻找更好的解决方案

+1

可能的复制[将字符串转换为日期时间](http://stackoverflow.com/questions/466345/converting-string-into-datetime) –

+0

这是unicode,虽然没有t字符串。 ? – Sother

回答

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) 
相关问题