diff -r af388201c997 Lib/datetime.py --- a/Lib/datetime.py Tue Mar 22 18:48:50 2016 +0100 +++ b/Lib/datetime.py Thu Mar 24 01:08:07 2016 -0400 @@ -1535,6 +1535,8 @@ tz = timezone(delta) else: tz = timezone(timedelta(seconds=gmtoff), zone) + self.replace(tzinfo=tz) + return self elif not isinstance(tz, tzinfo): raise TypeError("tz argument must be an instance of tzinfo") diff -r af388201c997 Lib/test/datetimetester.py --- a/Lib/test/datetimetester.py Tue Mar 22 18:48:50 2016 +0100 +++ b/Lib/test/datetimetester.py Thu Mar 24 01:08:07 2016 -0400 @@ -3457,11 +3457,11 @@ 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"), "+0000 UTC") 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"), "+0000 UTC") def test_aware_subtract(self): cls = self.theclass