git_brcal/src/server/BreCal/brecal_utils/time_handling.py

22 lines
852 B
Python

import datetime
def difference_to_then(event_time, tgt_time=None, make_absolute=False):
"""
measures the difference between {tgt_time} and {event_time}. this function automatically converts the datetime.timedelta object to seconds.
tgt_time defaults to {now}, if it is not specified.
Note: using divmod(time_diff, interval_duration) may be interesting to determine, how many units of {interval_duration} have passed.
e.g.,
divmod(time_diff, 3600) returns a float of hours. This will then return a tuple
options:
make_absolute: bool. Whether to return an absolute difference
Returns: time_diff (float)
"""
tgt_time = tgt_time or datetime.datetime.now()
time_diff = tgt_time - event_time
if make_absolute:
return abs(time_diff.total_seconds())
return time_diff.total_seconds()