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