Hello, everyone. While messing around with Zope, I came across a bug in the DateTime class. The following python session exhibits the faulty behavior: Python 1.5.1 (#1, Dec 11 1998, 07:16:57) [GCC 2.7.2.3] on linux2 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
from DateTime import *
date = DateTime('05/01/1999').earliestTime() d = (date - date.day()).earliestTime() print d 1999/04/30 00:00:01 US/Eastern print (d - 24) 1999/04/06 00:00:01 US/Eastern # correct print (d - 25) 1999/04/05 00:00:01 US/Eastern # correct print (d - 26) 1999/04/03 23:00:1 US/Eastern # incorrect d = d - (d.day() - 1) print d 1999/03/31 23:00:1 US/Eastern # incorrect ^D
Apparently, the DateTime code is picking up an extra hour somewhere which is throwing the calculation off. I've submitted this to the collector, but I am posting it here for discussion. Anyone know what the problem might be? I'm willing to fix it and submit a patch, but right now I have no clue where to look. jkh