例如,我有一个字符串“明天上午9点做某事”。我正在使用parsedatetime模块来解析字符串并从中获取日期时间对象。我根据parsedatetime文档做了这个:
from datetime import datetime
import parsedatetime as pdt # $ pip install parsedatetime
cal = pdt.Calendar()
string = "do something by tomorrow 9am"
time_struct = cal.parse(string)
datetimeobject = datetime(*time_struct[0][:6])
但是,我想知道它解析的字符串的哪一部分来获取datetime对象,因为我还想从字符串中删除日期部分,以获得“做某事”。 python-dateutil模块似乎这样做,但它不解析日期/时间,如“明天”或“2小时后”。
有办法吗?输入日期时间可以有多种格式。
答案 0 :(得分:1)
快速查看文档(https://bear.im/code/parsedatetime/docs/index.html),您可以看到:
nlp(self, inputString, sourceTime=None)
如果您将其与条目一起使用:
cal.nlp(string)
你会发现:
((datetime.datetime(2016, 7, 11, 9, 0), 3, 16, 28, 'tomorrow 9am'),)
也许这会帮助您在自己的字符串中找到字符串的已解析部分,并且您将能够进行适当的操作以获得所需的内容。