From ce80aac98a905a07ea7ec093f37243a4c3bbb6e0 Mon Sep 17 00:00:00 2001 From: Eoghan Glynn Date: Mon, 19 Nov 2012 16:25:32 +0000 Subject: Convenience wrapper for datetime.timedelta.total_seconds() Allows time deltas in seconds to be concisely calculated for py26 and py27. Change-Id: I8987af1f892fda0a72f5eb0d45f94c595792dc78 --- openstack/common/timeutils.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'openstack') diff --git a/openstack/common/timeutils.py b/openstack/common/timeutils.py index 8600439..4bf19a5 100644 --- a/openstack/common/timeutils.py +++ b/openstack/common/timeutils.py @@ -135,3 +135,16 @@ def unmarshall_time(tyme): minute=tyme['minute'], second=tyme['second'], microsecond=tyme['microsecond']) + + +def delta_seconds(before, after): + """ + Compute the difference in seconds between two date, time, or + datetime objects (as a float, to microsecond resolution). + """ + delta = after - before + try: + return delta.total_seconds() + except AttributeError: + return ((delta.days * 24 * 3600) + delta.seconds + + float(delta.microseconds) / (10 ** 6)) -- cgit