[Zope-Checkins] SVN: Zope/branches/2.11/ Fix for launchpad #267545: DateTime(DateTime()) should preserve the correct hour
Paul Winkler
slinkp at gmail.com
Sun Sep 7 15:51:10 EDT 2008
Log message for revision 90921:
Fix for launchpad #267545: DateTime(DateTime()) should preserve the correct hour
Changed:
U Zope/branches/2.11/doc/CHANGES.txt
U Zope/branches/2.11/lib/python/DateTime/DateTime.py
U Zope/branches/2.11/lib/python/DateTime/tests/testDateTime.py
-=-
Modified: Zope/branches/2.11/doc/CHANGES.txt
===================================================================
--- Zope/branches/2.11/doc/CHANGES.txt 2008-09-07 19:50:10 UTC (rev 90920)
+++ Zope/branches/2.11/doc/CHANGES.txt 2008-09-07 19:51:10 UTC (rev 90921)
@@ -16,6 +16,9 @@
- integrated Hotfix-2008-08-12
+ - Launchpad #267545: DateTime(DateTime()) now preserves the
+ correct hour
+
- Launchpad #262313: respect the 'Expand macros when editing' flag
when editing a page template through the ZMI
Modified: Zope/branches/2.11/lib/python/DateTime/DateTime.py
===================================================================
--- Zope/branches/2.11/lib/python/DateTime/DateTime.py 2008-09-07 19:50:10 UTC (rev 90920)
+++ Zope/branches/2.11/lib/python/DateTime/DateTime.py 2008-09-07 19:51:10 UTC (rev 90921)
@@ -586,11 +586,8 @@
DateTime instance.
"""
t = arg.timeTime()
- tz = arg.timezone()
- ms = (t - math.floor(t))
s,d = _calcSD(t)
- yr,mo,dy,hr,mn,sc = gmtime(t)[:6]
- sc = sc + ms
+ yr,mo,dy,hr,mn,sc,tz = arg.parts()
elif isinstance(arg, datetime):
yr,mo,dy,hr,mn,sc,numerictz,tznaive=self._parse_iso8601_preserving_tznaive(arg.isoformat())
Modified: Zope/branches/2.11/lib/python/DateTime/tests/testDateTime.py
===================================================================
--- Zope/branches/2.11/lib/python/DateTime/tests/testDateTime.py 2008-09-07 19:50:10 UTC (rev 90920)
+++ Zope/branches/2.11/lib/python/DateTime/tests/testDateTime.py 2008-09-07 19:51:10 UTC (rev 90921)
@@ -401,8 +401,10 @@
def testCopyConstructor(self):
d = DateTime('2004/04/04')
self.assertEqual(DateTime(d), d)
- d = DateTime('1999/04/12')
- self.assertEqual(DateTime(d), d)
+ self.assertEqual(str(DateTime(d)), str(d))
+ d2 = DateTime('1999/04/12 01:00:00')
+ self.assertEqual(DateTime(d2), d2)
+ self.assertEqual(str(DateTime(d2)), str(d2))
def testCopyConstructorPreservesTimezone(self):
# test for https://bugs.launchpad.net/zope2/+bug/200007
@@ -413,8 +415,10 @@
self.assertEqual(DateTime(d).timezone(), d.timezone())
d2 = DateTime('2008/04/25 12:00:00 EST')
self.assertEqual(DateTime(d2).timezone(), d2.timezone())
+ self.assertEqual(str(DateTime(d2)), str(d2))
d3 = DateTime('2008/04/25 12:00:00 PST')
self.assertEqual(DateTime(d3).timezone(), d3.timezone())
+ self.assertEqual(str(DateTime(d3)), str(d3))
def testRFC822(self):
More information about the Zope-Checkins
mailing list