summaryrefslogtreecommitdiff
path: root/Lib/datetime.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/datetime.py')
-rw-r--r--Lib/datetime.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/Lib/datetime.py b/Lib/datetime.py
index 5e9aab9700..5e922c80b0 100644
--- a/Lib/datetime.py
+++ b/Lib/datetime.py
@@ -1773,14 +1773,17 @@ class datetime(date):
mytz = self.tzinfo
if mytz is None:
mytz = self._local_timezone()
+ myoffset = mytz.utcoffset(self)
+ else:
+ myoffset = mytz.utcoffset(self)
+ if myoffset is None:
+ mytz = self.replace(tzinfo=None)._local_timezone()
+ myoffset = mytz.utcoffset(self)
if tz is mytz:
return self
# Convert self to UTC, and attach the new time zone object.
- myoffset = mytz.utcoffset(self)
- if myoffset is None:
- raise ValueError("astimezone() requires an aware datetime")
utc = (self - myoffset).replace(tzinfo=tz)
# Convert from UTC to tz's local time.