6

Is there a Python module to interpret fuzzy timestamps like the date command in unix:

> date -d "2 minutes ago"
Tue Aug 11 16:24:05 EST 2009

The closest I have found so far is dateutil.parser, which fails for the above example.

thanks

1
  • 1
    What is your idea of "fuzzy" in the example? The fact that you are specifying a relative offset? Or the syntax of doing this ("2 minutes ago")? Would "N - 00:02:00" be fuzzy as well? Or is it because you include the notion of "now", which is ever changing? Commented Aug 11, 2009 at 8:15

3 Answers 3

9

Check out this open source module: parsedatetime

Sign up to request clarification or add additional context in comments.

Comments

2

dateparser

Usage:

>>> import dateparser
>>> dateparser.parse('2 minutes ago')
datetime.datetime(2018, 11, 27, 13, 44, 54, 993170)
>>> dateparser.parse('yesterday at 15:12')
datetime.datetime(2018, 11, 26, 15, 12)

Comments

1

I have been dabbling with this using pyparsing - you can find my latest attempt here. It works for these test cases:

today
tomorrow
yesterday
in a couple of days
a couple of days from now
a couple of days from today
in a day
3 days ago
3 days from now
a day ago
now
10 minutes ago
10 minutes from now
in 10 minutes
in a minute
in a couple of minutes
20 seconds ago
in 30 seconds
20 seconds before noon
20 seconds before noon tomorrow
noon
midnight
noon tomorrow

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.