diff --git a/src/python/dm/common/utility/timeUtility.py b/src/python/dm/common/utility/timeUtility.py index f3e0d1bde95e188a1fef422583525dec974487fb..cfcfbcebb28096ee13fd0508f408f2f697d4fe31 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) +