fdda6ab6eb64e49775b8cdc312b11674d1cd822c
pytimeparse: time expression parser
Copyright (c) 2014 Will Roberts <wildwilhelm@gmail.com>
Licensed under the MIT License (see source file
timeparse.py for details).
A small Python library to parse various kinds of time expressions, inspired by this StackOverflow question.
The single function timeparse defined in the module
parses time expressions like the following:
32m2h32m3d2h32m1w3d2h32m1w 3d 2h 32m1 w 3 d 2 h 32 m4:134:13:024:13:02.2662:04:13:02.2662 days, 4:13:02(uptimeformat)2 days, 4:13:02.2665hr34m56s5 hours, 34 minutes, 56 seconds5 hrs, 34 mins, 56 secs2 days, 5 hours, 34 minutes, 56 seconds1.2 m1.2 min1.2 mins1.2 minute1.2 minutes172 hours172 hr172 h172 hrs172 hour1.24 days5 d5 day5 days5.6 wk5.6 week5.6 weeks
It returns the time as a number of seconds (an integer value if possible, otherwise a floating-point number):
>>> from pytimeparse.timeparse import timeparse
>>> timeparse('1.2 minutes')
72
A number of seconds can be converted back into a string using the
datetime module in the standard library, as noted in this
other StackOverflow question:
>>> from pytimeparse.timeparse import timeparse
>>> import datetime
>>> timeparse('1 day, 14:20:16')
138016
>>> str(datetime.timedelta(seconds=138016))
'1 day, 14:20:16'
Future work
- Give the user more flexibility over which characters to use as
separators between fields in a time expression (e.g.,
+might be useful). - Internationalisation?
- Wow, https://github.com/bear/parsedatetime .
Description
Languages
Python
100%