使用 Dateutil 的相对日期基准
Relative Date Base with Dateutil
我正在尝试使用 Python 解析相对日期(今天 4:00,明天 10:00,昨天 8:00,等等) 19=] 但想提供一个 "today" 日期作为实际使用的基础。问题是我可能正在查看昨天创建的内容,但其内容中仍有 "today",因此 dateutil.parse 没有解析出真正的 DateTime。
有什么解决方法吗?
dateutil.parser.parse()
function has default
parameter but it doesn't parse relative human-readable dates. You could use 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
我正在尝试使用 Python 解析相对日期(今天 4:00,明天 10:00,昨天 8:00,等等) 19=] 但想提供一个 "today" 日期作为实际使用的基础。问题是我可能正在查看昨天创建的内容,但其内容中仍有 "today",因此 dateutil.parse 没有解析出真正的 DateTime。
有什么解决方法吗?
dateutil.parser.parse()
function has default
parameter but it doesn't parse relative human-readable dates. You could use 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