2015-06-30 22:33:43 +00:00
|
|
|
import datetime
|
|
|
|
|
|
|
|
from dateutil import tz
|
|
|
|
from pytimeparse import timeparse
|
|
|
|
|
|
|
|
|
|
|
|
def timedelta_type(value):
|
2015-12-14 20:52:22 +00:00
|
|
|
"""Return the :class:`datetime.datetime.DateTime` for a time in the past.
|
2015-06-30 22:33:43 +00:00
|
|
|
|
2016-04-20 17:01:02 +00:00
|
|
|
:param value: a string containing a time format supported by
|
|
|
|
mod:`pytimeparse`
|
2015-06-30 22:33:43 +00:00
|
|
|
"""
|
|
|
|
if value is None:
|
|
|
|
return None
|
|
|
|
return datetime_seconds_ago(timeparse.timeparse(value))
|
|
|
|
|
|
|
|
|
|
|
|
def datetime_seconds_ago(seconds):
|
|
|
|
now = datetime.datetime.now(tz.tzutc())
|
|
|
|
return now - datetime.timedelta(seconds=seconds)
|