MCPcopy Index your code
hub / github.com/python/cpython / USTimeZone

Class USTimeZone

Lib/test/datetimetester.py:5774–5814  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5772DSTEND = datetime(1, 10, 25, 1)
5773
5774class USTimeZone(tzinfo):
5775
5776 def __init__(self, hours, reprname, stdname, dstname):
5777 self.stdoffset = timedelta(hours=hours)
5778 self.reprname = reprname
5779 self.stdname = stdname
5780 self.dstname = dstname
5781
5782 def __repr__(self):
5783 return self.reprname
5784
5785 def tzname(self, dt):
5786 if self.dst(dt):
5787 return self.dstname
5788 else:
5789 return self.stdname
5790
5791 def utcoffset(self, dt):
5792 return self.stdoffset + self.dst(dt)
5793
5794 def dst(self, dt):
5795 if dt is None or dt.tzinfo is None:
5796 # An exception instead may be sensible here, in one or more of
5797 # the cases.
5798 return ZERO
5799 assert dt.tzinfo is self
5800
5801 # Find first Sunday in April.
5802 start = first_sunday_on_or_after(DSTSTART.replace(year=dt.year))
5803 assert start.weekday() == 6 and start.month == 4 and start.day <= 7
5804
5805 # Find last Sunday in October.
5806 end = first_sunday_on_or_after(DSTEND.replace(year=dt.year))
5807 assert end.weekday() == 6 and end.month == 10 and end.day >= 25
5808
5809 # Can't compare naive to aware objects, so strip the timezone from
5810 # dt first.
5811 if start <= dt.replace(tzinfo=None) < end:
5812 return HOUR
5813 else:
5814 return ZERO
5815
5816Eastern = USTimeZone(-5, "Eastern", "EST", "EDT")
5817Central = USTimeZone(-6, "Central", "CST", "CDT")

Callers 1

datetimetester.pyFile · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…