要将自然语言中的字符串date解析为python datetime,我使用parsedattime模块。
from parsedatetime import parsedatetime as pdt
from parsedatetime import parsedatetime_consts as pdc
from datetime import datetime
str_date = '5minutes ago'
c = pdc.Constants()
p = pdt.Calendar(c)
struct_date = p.parse(str_date)[0]
## format the result
dt = datetime.fromtimestamp(mktime(struct_date))
print dt.isoformat()
这将工作得很好,但每次执行的结果都会改变,因为它是:
NOW() - '5minutes ago'
我应该如何修改它来使用引用日期解析5minutes ago
以获得始终相同的结果,并在内部解析如下:
REF_DATE - '5minutes ago'
提供sourceTime
属性
p.parse(str_date, sourceTime=datetime(year=2000, month=1, day=1))