From: Alexander Belopolsky Date: Fri, 22 Jun 2012 16:25:57 +0000 (-0400) Subject: Issue #9527: datetime.astimezone() method will now supply a class X-Git-Tag: v3.3.0b1~157 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ff493c9c465ba9502629bf5001f690068be97f33;p=python Issue #9527: datetime.astimezone() method will now supply a class timezone instance corresponding to the system local timezone when called with no arguments. --- diff --git a/Lib/datetime.py b/Lib/datetime.py index ce88d85209..e4d716198f 100644 --- a/Lib/datetime.py +++ b/Lib/datetime.py @@ -1501,7 +1501,7 @@ class datetime(date): localtm = _time.localtime(ts) local = datetime(*localtm[:6]) try: - # Extract TZ data if available + # Extract TZ data if available gmtoff = localtm.tm_gmtoff zone = localtm.tm_zone except AttributeError: @@ -1517,7 +1517,7 @@ class datetime(date): tz = timezone(delta) else: tz = timezone(timedelta(seconds=-gmtoff), zone) - + elif not isinstance(tz, tzinfo): raise TypeError("tz argument must be an instance of tzinfo") diff --git a/Lib/test/datetimetester.py b/Lib/test/datetimetester.py index e045447203..4181d4fe58 100644 --- a/Lib/test/datetimetester.py +++ b/Lib/test/datetimetester.py @@ -3283,11 +3283,11 @@ class TestDateTimeTZ(TestDateTime, TZInfoBase, unittest.TestCase): dt = self.theclass(2012, 11, 4, 6, 30, tzinfo=timezone.utc) local = dt.astimezone() self.assertEqual(dt, local) - self.assertEqual(local.strftime("%z %Z"), "+0500 EST") + self.assertEqual(local.strftime("%z %Z"), "+0500 EST") dt = self.theclass(2012, 11, 4, 5, 30, tzinfo=timezone.utc) local = dt.astimezone() self.assertEqual(dt, local) - self.assertEqual(local.strftime("%z %Z"), "+0400 EDT") + self.assertEqual(local.strftime("%z %Z"), "+0400 EDT") def test_aware_subtract(self): cls = self.theclass