From c72e6e942296ec124347743531414e0edb9d4f9c Mon Sep 17 00:00:00 2001
From: Sinisa Veseli <sveseli@aps.anl.gov>
Date: Thu, 8 Oct 2015 07:00:50 +0000
Subject: [PATCH] add to datetime conversion for timestamps

---
 src/python/dm/common/utility/timeUtility.py | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/src/python/dm/common/utility/timeUtility.py b/src/python/dm/common/utility/timeUtility.py
index 5300ff12..f3e0d1bd 100755
--- a/src/python/dm/common/utility/timeUtility.py
+++ b/src/python/dm/common/utility/timeUtility.py
@@ -1,6 +1,11 @@
 #!/usr/bin/env python
 
 import time
+import pytz 
+import datetime
+from tzlocal import get_localzone 
+from dm.common.exceptions.invalidArgument import InvalidArgument
+
 class TimeUtility:
 
     @classmethod
@@ -23,4 +28,19 @@ class TimeUtility:
         """ Formats local timestamp. """
         return time.strftime('%Y/%m/%d %H:%M:%S %Z', time.localtime(t))
 
+    @classmethod
+    def toDateTime(cls, t, format):
+        if not t:
+            return None
+        tz = get_localzone()
+        try:
+            dt = datetime.datetime.strptime(t, format)
+        except Exception, ex:
+            raise InvalidArgument('Cannot parse input: %s' % ex)
+        return tz.localize(dt, is_dst=None)
+
+#######################################################################
+# Testing.
+if __name__ == '__main__':
+    print TimeUtility.toDateTime('2015-01-03', '%Y-%m-%d')
 
-- 
GitLab