mirror of
https://github.com/SickGear/SickGear.git
synced 2024-11-25 06:15:04 +00:00
47 lines
910 B
Python
47 lines
910 B
Python
|
from datetime import tzinfo, timedelta
|
||
|
|
||
|
|
||
|
class TimezoneUTC(tzinfo):
|
||
|
"""UTC timezone"""
|
||
|
ZERO = timedelta(0)
|
||
|
|
||
|
def utcoffset(self, dt):
|
||
|
return TimezoneUTC.ZERO
|
||
|
|
||
|
def tzname(self, dt):
|
||
|
return "UTC"
|
||
|
|
||
|
def dst(self, dt):
|
||
|
return TimezoneUTC.ZERO
|
||
|
|
||
|
def __repr__(self):
|
||
|
return "<TimezoneUTC delta=0, name='UTC'>"
|
||
|
|
||
|
|
||
|
class Timezone(TimezoneUTC):
|
||
|
"""Fixed offset in hour from UTC."""
|
||
|
|
||
|
def __init__(self, offset):
|
||
|
self._offset = timedelta(minutes=offset * 60)
|
||
|
self._name = "%+03u00" % offset
|
||
|
|
||
|
def utcoffset(self, dt):
|
||
|
return self._offset
|
||
|
|
||
|
def tzname(self, dt):
|
||
|
return self._name
|
||
|
|
||
|
def __repr__(self):
|
||
|
return "<Timezone delta=%s, name='%s'>" % (
|
||
|
self._offset, self._name)
|
||
|
|
||
|
|
||
|
UTC = TimezoneUTC()
|
||
|
|
||
|
|
||
|
def createTimezone(offset):
|
||
|
if offset:
|
||
|
return Timezone(offset)
|
||
|
else:
|
||
|
return UTC
|