26 lines
879 B
Python
26 lines
879 B
Python
|
|
||
|
import datetime
|
||
|
|
||
|
DATETIME_UNITS = {
|
||
|
'second': datetime.timedelta(seconds = 1),
|
||
|
'seconds': datetime.timedelta(seconds = 1),
|
||
|
'minute': datetime.timedelta(minutes = 1),
|
||
|
'minutes': datetime.timedelta(minutes = 1),
|
||
|
'hour': datetime.timedelta(hours = 1),
|
||
|
'hours': datetime.timedelta(hours = 1),
|
||
|
'day': datetime.timedelta(days = 1),
|
||
|
'days': datetime.timedelta(days = 1),
|
||
|
'week': datetime.timedelta(days = 7),
|
||
|
'weeks': datetime.timedelta(days = 7),
|
||
|
'month': datetime.timedelta(days = 30),
|
||
|
'months': datetime.timedelta(days = 30),
|
||
|
'year': datetime.timedelta(days = 365),
|
||
|
'years': datetime.timedelta(days = 365),
|
||
|
}
|
||
|
|
||
|
def parse_duration(text: str) -> datetime.timedelta:
|
||
|
(num, unit) = text.split(' ')
|
||
|
num = int(num)
|
||
|
unit = DATETIME_UNITS[unit]
|
||
|
return unit * num
|