Another thing I was thinking of recently, can't you just take the timezone's DAYLIGHT and STANDARD components and calculate the changes using the RecurIterator?