summaryrefslogtreecommitdiffstats
path: root/openstack
diff options
context:
space:
mode:
authorEoghan Glynn <eglynn@redhat.com>2012-11-19 16:25:32 +0000
committerEoghan Glynn <eglynn@redhat.com>2012-11-19 22:16:44 +0000
commitce80aac98a905a07ea7ec093f37243a4c3bbb6e0 (patch)
tree8f4bb61ec24666bf787c3081d2647aa50d377bca /openstack
parent403509e0c4bebbcb7e383291695a24069c725fde (diff)
downloadoslo-ce80aac98a905a07ea7ec093f37243a4c3bbb6e0.tar.gz
oslo-ce80aac98a905a07ea7ec093f37243a4c3bbb6e0.tar.xz
oslo-ce80aac98a905a07ea7ec093f37243a4c3bbb6e0.zip
Convenience wrapper for datetime.timedelta.total_seconds()
Allows time deltas in seconds to be concisely calculated for py26 and py27. Change-Id: I8987af1f892fda0a72f5eb0d45f94c595792dc78
Diffstat (limited to 'openstack')
-rw-r--r--openstack/common/timeutils.py13
1 files changed, 13 insertions, 0 deletions
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))