如何从 unicode 字符串创建日期时间对象?
How to create datetime object from a unicode string?
我在从 python 这种格式转换时遇到问题:
u'08:00:00'
到 datetime
对象,例如:
datetime.datetime(2017,02,22,8,0,0)
执行此操作的简单方法是什么?
我可以通过解析字符串来完成,但寻找更优雅的解决方案
首先你需要解析时间字符串。您可以手动执行此操作,或使用 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)
我在从 python 这种格式转换时遇到问题:
u'08:00:00'
到 datetime
对象,例如:
datetime.datetime(2017,02,22,8,0,0)
执行此操作的简单方法是什么?
我可以通过解析字符串来完成,但寻找更优雅的解决方案
首先你需要解析时间字符串。您可以手动执行此操作,或使用 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)