Ethan Furman wrote: > Greetings, List! > > I was curious if anyone knew the rationale behind making midnight False? > > --> import datetime > --> midnight = datetime.time(0,0,0) > --> bool(midnight) > False > > To my way of thinking, midnight does actually exist so it should be > true. If datetime.time was measuring an *amount* of time, rather than a > certain point during the day, then a time of 0:0:0 should certainly be > False as it would mean no time had passed. However, since midnight does > indeed exist (as many programmers have observed when deadlines approach > ;) I would think it should be true.
One might ask the rationale behind treating a time as Boolean in the first place. Let me guess: you are retrieving the times from a database, and you are testing of the NULL value? If that's the case, a simple "is not None" will overcome the objection. Though I do agree it's a little weird for bool(midnight) to return False. Probably worth a bug report. I imagine it's just returning the bool of the underlying integer. regards Steve -- Steve Holden +1 571 484 6266 +1 800 494 3119 Holden Web LLC http://www.holdenweb.com/ -- http://mail.python.org/mailman/listinfo/python-list