[Zope-dev] DateTime Error?

Lindell Alderman lindell@atlantis.otak.com
Wed, 22 Mar 2000 08:03:20 -0800


It is fixable, but deriving a class from a broken class is inelegant
at best.  The bug should be fixed at the source.

-L

On Tue, Mar 21, 2000 at 05:51:09PM -0800, Jonothan Farr wrote:
> 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 )
> >
>