from datetime import datetime
from dateutil import tz
# METHOD 1: Hardcode zones:
from_zone = tz.gettz('UTC')
to_zone = tz.gettz('America/New_York')
# METHOD 2: Auto-detect zones:
from_zone = tz.tzutc()
to_zone = tz.tzlocal()
# utc = datetime.utcnow()
utc = datetime.strptime('2011-01-21 02:37:21', '%Y-%m-%d %H:%M:%S')
# Tell the datetime object that it's in UTC time zone since
# datetime objects are 'naive' by default
utc = utc.replace(tzinfo=from_zone)
# Convert time zone
central = utc.astimezone(to_zone)
ZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRpbWUKZnJvbSBkYXRldXRpbCBpbXBvcnQgdHoKCiMgTUVUSE9EIDE6IEhhcmRjb2RlIHpvbmVzOgpmcm9tX3pvbmUgPSB0ei5nZXR0eignVVRDJykKdG9fem9uZSA9IHR6LmdldHR6KCdBbWVyaWNhL05ld19Zb3JrJykKCiMgTUVUSE9EIDI6IEF1dG8tZGV0ZWN0IHpvbmVzOgpmcm9tX3pvbmUgPSB0ei50enV0YygpCnRvX3pvbmUgPSB0ei50emxvY2FsKCkKCiMgdXRjID0gZGF0ZXRpbWUudXRjbm93KCkKdXRjID0gZGF0ZXRpbWUuc3RycHRpbWUoJzIwMTEtMDEtMjEgMDI6Mzc6MjEnLCAnJVktJW0tJWQgJUg6JU06JVMnKQoKIyBUZWxsIHRoZSBkYXRldGltZSBvYmplY3QgdGhhdCBpdCdzIGluIFVUQyB0aW1lIHpvbmUgc2luY2UgCiMgZGF0ZXRpbWUgb2JqZWN0cyBhcmUgJ25haXZlJyBieSBkZWZhdWx0CnV0YyA9IHV0Yy5yZXBsYWNlKHR6aW5mbz1mcm9tX3pvbmUpCgojIENvbnZlcnQgdGltZSB6b25lCmNlbnRyYWwgPSB1dGMuYXN0aW1lem9uZSh0b196b25lKQ==