DateTime itself does not contain real-time information. He can know if it is UTC or local, but not what local really means.
DateTimeOffset is slightly better - it's mostly UTC time and offset. However, this is still not enough to determine the time zone, since many different time zones can have the same offset at any given time. It sounds like it might be enough for you, although all you need to work with when date / time parsing is an offset.
Support for time zones is much better than .NET 3.5 than it was, but I'd really like to see the standard "ZonedDateTime" or something like that - UTC time and actual time zone. It's easy to create your own, but it would be nice to see it in standard libraries.
EDIT: Almost four years later, I suggest using Noda Time , which has a richer set of date and time types. I am biased, though, as the main author of Noda Time :)
Jon Skeet Feb 23 '09 at 7:07 2009-02-23 07:07
source share