If anyone is interested, I have a geometric proof that the astimezone() method is correct. I personally find the geometric proof easier to understand than Tim's analytic proof. It's also shorter -- except it needs drawings. Should I bother writing it down? --Guido van Rossum (home page: http://www.python.org/~guido/)