Source code for dp_tornado.helper.datetime.timezone

# -*- coding: utf-8 -*-


from dp_tornado.engine.helper import Helper as dpHelper
from pytz import timezone as pytz_timezone


[docs]class TimezoneHelper(dpHelper):
[docs] def tzinfo_from_zone(self, zone): return pytz_timezone(zone)
[docs] def zone_from_tzinfo(self, zone): if not zone or not hasattr(zone, 'zone'): return None return zone.zone
[docs] def tzinfo_from_datetime(self, datetime): return datetime.tzinfo
[docs] def zone_from_datetime(self, datetime): return self.zone_from_tzinfo(datetime.tzinfo)
[docs] def localize(self, datetime, timezone): return timezone.localize(datetime)
[docs] def normalize(self, datetime, timezone): if self.helper.misc.type.check.string(timezone): timezone = self.tzinfo_from_zone(timezone) return timezone.normalize(datetime)