If it was this easy to fix then shouldn't it be possible to fix the DateTime class? -jfarr ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Hi! I'm a signature virus. Copy me into your .sig to join the fun! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ----- Original Message ----- From: Lindell Alderman <lindell@atlantis.otak.com> To: Jonothan Farr <jfarr@real.com> Cc: <zope-dev@zope.org> Sent: Tuesday, March 21, 2000 3:46 PM Subject: Re: [Zope-dev] DateTime Error?
This is how I worked around it. I derived a class from DateTime. Then I overrode the minute and second methods. My new methods called the time module directly and return the right number. This worked well. Of course I knew exactly which methods I needed so I didn't have to override a lot of different methods.
-L
On Tue, Mar 21, 2000 at 03:28:56PM -0800, Jonothan Farr wrote:
This is definitely a problem. The common explanation is floating point errors.
-jfarr
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Hi! I'm a signature virus. Copy me into your .sig to join the fun! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
----- Original Message ----- From: Lindell Alderman <lindell@atlantis.otak.com> To: <lindell@atlantis.otak.com> Cc: <zope-dev@zope.org> Sent: Tuesday, March 21, 2000 3:18 PM Subject: [Zope-dev] DateTime Error?
I think I have found an inconsistency in the Zope DateTime class. The following piece of code illustrates it.
#!/usr/bin/python import DateTime now = DateTime.DateTime()
for x in range(0,24): dt = DateTime.DateTime('%04d-%02d-%02d %02d:30:00' % (now.year(), now.month(), now.day(),x)) print dt.parts()
# end of code
Here is the output on my Debian Linux box.
(2000, 3, 21, 0, 30, 0.0, 'US/Pacific') (2000, 3, 21, 1, 30, 0.0, 'US/Pacific') (2000, 3, 21, 2, 30, 0.0, 'US/Pacific') (2000, 3, 21, 3, 30, 0.0, 'US/Pacific') (2000, 3, 21, 4, 30, 0.0, 'US/Pacific') (2000, 3, 21, 5, 30, 0.0, 'US/Pacific') (2000, 3, 21, 6, 30, 0.0, 'US/Pacific') (2000, 3, 21, 7, 30, 0.0, 'US/Pacific') (2000, 3, 21, 8, 29, 60.0, 'US/Pacific') (2000, 3, 21, 9, 30, 0.0, 'US/Pacific') (2000, 3, 21, 10, 30, 0.0, 'US/Pacific') (2000, 3, 21, 11, 30, 0.0, 'US/Pacific') (2000, 3, 21, 12, 30, 0.0, 'US/Pacific') (2000, 3, 21, 13, 30, 0.0, 'US/Pacific') (2000, 3, 21, 14, 30, 7.27595761418e-12, 'US/Pacific') (2000, 3, 21, 15, 30, 0.0, 'US/Pacific') (2000, 3, 21, 16, 30, 0.0, 'US/Pacific') (2000, 3, 21, 17, 30, 7.27595761418e-12, 'US/Pacific') (2000, 3, 21, 18, 30, 0.0, 'US/Pacific') (2000, 3, 21, 19, 30, 0.0, 'US/Pacific') (2000, 3, 21, 20, 30, 0.0, 'US/Pacific') (2000, 3, 21, 21, 30, 0.0, 'US/Pacific') (2000, 3, 21, 22, 30, 0.0, 'US/Pacific') (2000, 3, 21, 23, 30, 0.0, 'US/Pacific')
Notice that at 8:30 am the DateTime class prints 8:29:60 instead of 8:30:00. Then notice at 2:30 and 5:30 the number of seconds is slight off too. I have not found the cause yet. Has anyone noticed this problem too?
Norman Alderman
_______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
_______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )
_______________________________________________ Zope-Dev maillist - Zope-Dev@zope.org http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )