.NET has two principal ways for handling times: DateTime
and DateTimeOffset
.
The big deficit of DateTime, which was also recognized early in .NET 1.0, is that it is not clear from the DateTime information which time zone the time information represents. Therefore DateTime is also called implicit representation of time information, whose “hope” is that the time information is always in relation to UTC-0. DateTime cannot guarantee this, which is why errors often occur in combination with time zones and DateTime.
DateTime supports only two possibilities at this point: the local time of the application or UTC.
Read Blog Post