As far as I know the difference operator of the DateTime type considers leap years: so
new DateTime(2008, 3, 1) - new DateTime(2008, 2, 1) // should return 29 days
new DateTime(2009, 3, 1) - new DateTime(2009, 2, 1) // should return 28 days
But what about daylight saving?
I don’t think it will. The documentation simply says that a DateTime is stored as the number of ticks since 12:00:00 midnight, January 1, 0001, but it doesn’t say in which TimeZone the midnight actually is – I would have to assume that if it was always stored internally in UTC, they would say so.
You can easily get around this though: Just do:
and the conversions to UTC will take into account daylight savings