1

In Google Calendar, when you click on a date and enter an event, it just asks you to enter something into a text field and it'll automatically interpret what you entered.

So like, I'll enter dinner at 7PM, 7PM dinner, dinner 7PM, etc. the app would just understand what it is I'm typing.

How is this done?

John Conde
  • 217,595
  • 99
  • 455
  • 496
reedvoid
  • 1,203
  • 3
  • 18
  • 34

2 Answers2

1

Realize this is an old post, but just in case this is useful for someone: here are some more options/ideas:

Option 1: Python

The dateutil library works quite nicely:

>> 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 ',))

Option 2: Use the Google Calendar API

This is a bit of a hack, but it should work. You could use Google Calendar API's quickAdd:

Example request:

POST https://www.googleapis.com/calendar/v3/calendars/primary/events/quickAdd?text=Peter%2C+tomorrow+at+8am&key={YOUR_API_KEY}

Which would return an Event resource, You could use the data from this object for your needs.

Unfortunately, there doesn't seem to be a way to call quickAdd without actually creating an event in a calendar. So you'd kinda need to just have a throw-away Google calendar sitting in the background where the events would get created.

toast38coza
  • 8,650
  • 3
  • 39
  • 32