解析类似Google日历的日历事件条目
在谷歌日历里,当你点击一个日期并输入一个事件时,它会让你在一个文本框里输入内容,然后自动理解你写的是什么。
比如说,我可以输入 晚上7点吃晚饭
、7点晚饭
、晚饭7点
等等,这个应用都会明白我在说什么。
这是怎么做到的呢?
2 个回答
1
虽然这是个旧帖子,但如果对某些人有用的话,这里有一些其他的选择和想法:
选项 1:使用 Python
dateutil
这个库用起来很不错:
>> from dateutil.parser import parse
>> parse("tomrrow at 6pm", fuzzy=True)
Out[14]: datetime.datetime(2016, 11, 10, 18, 0)
>> parse("tomrrow at 6pm", fuzzy_with_tokens=True)
Out[15]: (datetime.datetime(2016, 11, 10, 18, 0), ('tomrrow at ',))
选项 2:使用 Google 日历 API
这有点像变通的方法,但应该是可行的。你可以使用Google 日历 API 的 quickAdd功能:
示例请求:
POST https://www.googleapis.com/calendar/v3/calendars/primary/events/quickAdd?text=Peter%2C+tomorrow+at+8am&key={YOUR_API_KEY}
这个请求会返回一个事件资源,你可以利用这个对象中的数据来满足你的需求。
不过,不幸的是,似乎没有办法调用quickAdd
而不实际在日历中创建一个事件。所以你可能需要在后台有一个临时的 Google 日历,用来创建这些事件。