On Thu, 25 May 2000 andres@corrada.com wrote:
On Thu, May 25, 2000 at 12:56:48PM -0400, Shane Hathaway wrote:
Simple: DateTime has been using floating-point calculations. I believe all of that has been corrected, however, with the new DateTime module, available in the public CVS repository.
Shane
I don't understand how your answer explains the buggy behaviour. If DateTime.timeTime() returns a float that's okay. Why should a call to it wrapped with int() return the incorrect answer?
t.timeTime() 953146937.0 int( t.timeTime() ) 953146936 int( 953146937.0 ) 953146937
Check this out: Python 1.5.2 (#3, Mar 8 2000, 16:34:52) [C] on sunos5 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
f = 1.999999999999 f
2.0
int(f) 1
This was on one of our Solaris boxes. Apparently, the string representation of a float having the value 1.999999999999 is 2.0, while the int() function takes a different code path and returns 1, correctly. I could be wrong, but I think that's what's biting you. --Jeff --- Jeff K. Hoffman 704.849.0731 x108 Chief Technology Officer mailto:jeff.hoffman@goingv.com Going Virtual, L.L.C. http://www.goingv.com/