我正在尝试使用dateutil.parse解析相关日期(今天4:00,明天10:00,昨天8:00等),但是想提供一个“今天”日期给实际上用作基础。问题是我可能正在查看昨天创建的内容,但其内容中仍然有“今天”,因此dateutil.parse不会解析出真正的DateTime。
有没有解决方法呢?
答案 0 :(得分:1)
dateutil.parser.parse()
function has default
parameter但它不会解析相对人类可读的日期。您可以使用parsedatetime
module:
#!/usr/bin/env python
from datetime import datetime
import parsedatetime # $ pip install parsedatetime
today = datetime(2015, 1, 1)
calendar= parsedatetime.Calendar()
for timestring in [
"today at 4:00",
"tomorrow at 10:00",
"yesterday at 8:00"]:
d, parsed_as = calendar.parseDT(timestring, today)
assert parsed_as == 3 # as datetime
print(d)
2015-01-01 04:00:00
2015-01-02 10:00:00
2014-12-31 08:00:00