It looks like subtracting dates in .NET is done purely mechanically, ignoring such subtleties as time zones or daylight savings time.

In particular, the UTC flag is ignored when subtracting dates. E.g. if you subtract 2008/11/22 13:15 UTC from 2008/11/22 13:15 local, you get zero hours difference in any time zone.
[read more...]