summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Belanger <paul.belanger@polybeacon.com>2015-01-16 12:43:45 -0500
committerPaul Belanger <paul.belanger@polybeacon.com>2015-02-05 10:13:19 -0500
commitd5e2009dddad40b0c02d61e8fe4efa3f6143264c (patch)
tree1159609b4d2d3c2133ec1b03ec506517edcb0d71
parentff05ecc7ea8e0ab4f7eb9c88a0de105ddd23f1a1 (diff)
downloadoslo-utils-d5e2009dddad40b0c02d61e8fe4efa3f6143264c.tar.gz
Add microsecond support to iso8601_from_timestamp
We now have the ability to generate iso8601 dates, with microseconds, from timestamps. Change-Id: I2d87fa22148098d428115bfcd0b4ce3879a07c38 Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
-rw-r--r--oslo_utils/tests/test_timeutils.py6
-rw-r--r--oslo_utils/timeutils.py4
2 files changed, 8 insertions, 2 deletions
diff --git a/oslo_utils/tests/test_timeutils.py b/oslo_utils/tests/test_timeutils.py
index 4e24adb..1178f1d 100644
--- a/oslo_utils/tests/test_timeutils.py
+++ b/oslo_utils/tests/test_timeutils.py
@@ -203,6 +203,12 @@ class TimeUtilsTest(test_base.BaseTestCase):
ts = calendar.timegm(utcnow.timetuple())
self.assertEqual(iso, timeutils.iso8601_from_timestamp(ts))
+ def test_iso8601_from_timestamp_ms(self):
+ ts = timeutils.utcnow_ts(microsecond=True)
+ utcnow = datetime.datetime.utcfromtimestamp(ts)
+ iso = timeutils.isotime(utcnow, subsecond=True)
+ self.assertEqual(iso, timeutils.iso8601_from_timestamp(ts, True))
+
def test_is_soon(self):
expires = timeutils.utcnow() + datetime.timedelta(minutes=5)
self.assertFalse(timeutils.is_soon(expires, 120))
diff --git a/oslo_utils/timeutils.py b/oslo_utils/timeutils.py
index adf1abd..c7c3d62 100644
--- a/oslo_utils/timeutils.py
+++ b/oslo_utils/timeutils.py
@@ -130,9 +130,9 @@ def utcnow():
return datetime.datetime.utcnow()
-def iso8601_from_timestamp(timestamp):
+def iso8601_from_timestamp(timestamp, microsecond=False):
"""Returns an iso8601 formatted date from timestamp."""
- return isotime(datetime.datetime.utcfromtimestamp(timestamp))
+ return isotime(datetime.datetime.utcfromtimestamp(timestamp), microsecond)
utcnow.override_time = None