mirror of
https://github.com/python/cpython.git
synced 2025-10-31 21:51:50 +00:00
Move the examples of concrete tzinfo classes to a separate file, so the
verbatim environment does not bollux page breaking.
This commit is contained in:
parent
1fc1fe840e
commit
ce5200842e
1 changed files with 51 additions and 0 deletions
51
Doc/lib/tzinfo-examples.py
Normal file
51
Doc/lib/tzinfo-examples.py
Normal file
|
|
@ -0,0 +1,51 @@
|
||||||
|
from datetime import tzinfo
|
||||||
|
|
||||||
|
class UTC(tzinfo):
|
||||||
|
"""UTC"""
|
||||||
|
|
||||||
|
def utcoffset(self, dt):
|
||||||
|
return 0
|
||||||
|
|
||||||
|
def tzname(self, dt):
|
||||||
|
return "UTC"
|
||||||
|
|
||||||
|
def dst(self, dt):
|
||||||
|
return 0
|
||||||
|
|
||||||
|
class FixedOffset(tzinfo):
|
||||||
|
"""Fixed offset in minutes east from UTC."""
|
||||||
|
|
||||||
|
def __init__(self, offset, name):
|
||||||
|
self.__offset = offset
|
||||||
|
self.__name = name
|
||||||
|
|
||||||
|
def utcoffset(self, dt):
|
||||||
|
return self.__offset
|
||||||
|
|
||||||
|
def tzname(self, dt):
|
||||||
|
return self.__name
|
||||||
|
|
||||||
|
def dst(self, dt):
|
||||||
|
# It depends on more than we know in an example.
|
||||||
|
return None # Indicate we don't know
|
||||||
|
|
||||||
|
import time
|
||||||
|
|
||||||
|
class LocalTime(tzinfo):
|
||||||
|
"""Local time as defined by the operating system."""
|
||||||
|
|
||||||
|
def _isdst(self, dt):
|
||||||
|
t = (dt.year, dt.month, dt.day, dt.hour, dt.minute, dt.second,
|
||||||
|
-1, -1, -1)
|
||||||
|
# XXX This may fail for years < 1970 or >= 2038
|
||||||
|
t = time.localtime(time.mktime(t))
|
||||||
|
return t.tm_isdst > 0
|
||||||
|
|
||||||
|
def utcoffset(self, dt):
|
||||||
|
if self._isdst(dt):
|
||||||
|
return -time.timezone/60
|
||||||
|
else:
|
||||||
|
return -time.altzone/60
|
||||||
|
|
||||||
|
def tzname(self, dt):
|
||||||
|
return time.tzname[self._isdst(dt)]
|
||||||
Loading…
Add table
Add a link
Reference in a new issue