Skip to content

Commit ded23d4

Browse files
author
James William Pye
committed
sigh.
1 parent 0a23467 commit ded23d4

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

postgresql/python/datetime.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
##
2+
# copyright 2009, James William Pye
3+
# http://python.projects.postgresql.org
4+
##
5+
"""
6+
datetime extras
7+
"""
8+
import datetime
9+
10+
class FixedOffset(datetime.tzinfo):
11+
def __init__(self, offset_in_seconds, tzname = None):
12+
self._tzname = tzname
13+
self._offset = offset_in_seconds
14+
self._offset_in_mins = offset_in_seconds // 60
15+
self._td_offset = datetime.timedelta(0, self._offset_in_mins * 60)
16+
self._dst = datetime.timedelta(0)
17+
18+
def utcoffset(self, offset_from):
19+
return self._td_offset
20+
21+
def tzname(self):
22+
return self._tzname
23+
24+
def dst(self, arg):
25+
return self._dst
26+
27+
def __repr__(self):
28+
return "{path}.{name}({off}{tzname})".format(
29+
path = type(self).__module__,
30+
name = type(self).__name__,
31+
off = repr(self._td_offset.days * 24 * 60 * 60 + self._td_offset.seconds),
32+
tzname = (
33+
", tzname = {tzname!r}".format(tzname = self._tzname) \
34+
if self._tzname is not None else ""
35+
)
36+
)
37+
38+
UTC = FixedOffset(0, tzname = 'UTC')

0 commit comments

Comments
 (0)