DateTime was the first type the .NET Framework had to represent times. Unfortunately, it very quickly became apparent that DateTime had a design flaw: the times are not unique.
Therefore, with .NET 2.0, DateTimeOffset was introduced very early to correct these issues.
Nevertheless DateTime has a high prevalence: and thus a huge error potential due to missing time information.
It is high time to replace DateTime with DateTimeOffset.