From a800443d9402f104fc4e6136add200c915c430af Mon Sep 17 00:00:00 2001
From: Sinisa Veseli <sveseli@aps.anl.gov>
Date: Wed, 27 Jan 2016 20:50:31 +0000
Subject: [PATCH] added utility for utc->localtime

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

diff --git a/src/python/dm/common/utility/timeUtility.py b/src/python/dm/common/utility/timeUtility.py
index f3e0d1bd..cfcfbceb 100755
--- a/src/python/dm/common/utility/timeUtility.py
+++ b/src/python/dm/common/utility/timeUtility.py
@@ -8,6 +8,8 @@ from dm.common.exceptions.invalidArgument import InvalidArgument
 
 class TimeUtility:
 
+    UTC_MINUS_LOCAL_TIME = None
+
     @classmethod
     def getCurrentGMTimeStamp(cls):
         """ Formats GMT timestamp. """
@@ -39,8 +41,25 @@ class TimeUtility:
             raise InvalidArgument('Cannot parse input: %s' % ex)
         return tz.localize(dt, is_dst=None)
 
+    @classmethod
+    def utcToLocalTime(cls, utc):
+        if cls.UTC_MINUS_LOCAL_TIME is None:
+            cls.UTC_MINUS_LOCAL_TIME = (datetime.datetime.utcnow()-datetime.datetime.now()).total_seconds()
+        localTime = utc - cls.UTC_MINUS_LOCAL_TIME 
+        return localTime
+
 #######################################################################
 # Testing.
 if __name__ == '__main__':
     print TimeUtility.toDateTime('2015-01-03', '%Y-%m-%d')
+    dt0 = datetime.datetime.utcnow()
+    dt1 = datetime.datetime.now()
+    ts0 = time.mktime(dt0.timetuple())
+    ts1 = time.mktime(dt1.timetuple())
+    t0 = time.strftime("%Y/%m/%d %H:%M:%S", dt0.timetuple())
+    print 'UTC:   ', t0, ts0
+    t1 = time.strftime("%Y/%m/%d %H:%M:%S", dt1.timetuple())
+    print 'LOCAL: ', t1, ts1
+    print 'UTC TO LOCAL: ', TimeUtility.utcToLocalTime(ts0)
+
 
-- 
GitLab