Skip to content

Commit b7fff7c

Browse files
authored
Merge pull request #233 from jelmer/fix-zoneinfo
Fix zoneinfo
2 parents 28e903b + 2e11deb commit b7fff7c

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

.gitignore

+7
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,10 @@ build/
1515
/Cargo.lock
1616
*.cpython-*.so
1717
.testrepository
18+
selftest.log
19+
doc/en/user-reference/*.txt
20+
doc/en/_build/
21+
doc/developers/_build/
22+
.*.swp
23+
doc/developers/Makefile
24+
doc/developers/make.bat

breezy/osutils.py

+7-15
Original file line numberDiff line numberDiff line change
@@ -759,26 +759,18 @@ def compare_files(a, b):
759759

760760
def local_time_offset(t=None):
761761
"""Return offset of local zone from GMT, either at present or at time t."""
762-
from datetime import datetime
763-
764762
if t is None:
765763
t = time.time()
766-
try:
767-
from datetime import UTC
768-
except ImportError:
769-
offset = datetime.fromtimestamp(t) - datetime.utcfromtimestamp(t)
770-
else:
771-
from zoneinfo import ZoneInfo
772764

773-
now = datetime.now()
774-
tzinfo = now.astimezone().tzinfo
775-
if tzinfo is None:
776-
raise errors.BzrError("No timezone information available")
777-
zoneinfo = ZoneInfo(tzinfo.tzname(now))
765+
local_time = time.localtime(t)
766+
utc_time = time.gmtime(t)
767+
768+
local_seconds = time.mktime(local_time)
769+
utc_seconds = time.mktime(utc_time)
778770

779-
offset = datetime.fromtimestamp(t, zoneinfo) - datetime.fromtimestamp(t, UTC)
771+
offset = int(local_seconds - utc_seconds)
780772

781-
return offset.days * 86400 + offset.seconds
773+
return offset
782774

783775

784776
weekdays = ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"]

0 commit comments

Comments
 (0)