Hi, We have a failing test in plone.app.dexterity 1.0a7. This is simply trying to compare two dates:
>>> from DateTime import DateTime >>> DateTime() > DateTime(md.CreationDate()) True At least here in Australia, the second test fails. Right now, the following expressions are: DateTime(): DateTime('2010/01/10 11:20:24.718203 GMT+8') md.CreationDate(): '2010-01-10 11:19:57' DateTime(md.CreationDate()): DateTime('2010/01/10 11:19:57 GMT+0') On Zope 2.10, it's a different story: DateTime(): DateTime('2010/01/10 11:34:01.508 GMT+8') md.CreationDate(): '2010-01-10 11:24:42' DateTime(md.CreationDate()): DateTime('2010/01/10 11:24:42 GMT+8') Andi Zeidler looked into it briefly, and said the following: imho, this is due a bug in `DateTime` 2.12.0. the newer version behaves differently when it's initialized via a string representation of a date — it interprets the given date to be GMT while before it was taken to be from your local time zone: $ cd ~/plone/coredev/branches $ cat foo.py from DateTime import DateTime print DateTime('2010-01-09 00:34:37') $ 3.3/bin/zopepy foo.py 2010/01/09 00:34:37 GMT+1 $ 4.0/bin/zopepy foo.py 2010/01/09 00:34:37 GMT+0 so in your test, `DateTime(md.CreationDate())` will always be the current time, but with an implicitly added 'GMT+0' while `DateTime()` will be the current time in your local time zone. so if i'm not mistaken, on plone 4.0 the test with fail for you an me (in 'GMT+x' time zones) and pass in the u.s. fun! :) Does anyone know if this change was deliberate, or what may have happened? Martin -- Author of `Professional Plone Development`, a book for developers who want to work with Plone. See http://martinaspeli.net/plone-book _______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org https://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - https://mail.zope.org/mailman/listinfo/zope-announce https://mail.zope.org/mailman/listinfo/zope )