Currently, we have a standard way of dealing with .NET
DateTime's in a TimeZone aware way: Whenever we produce a
DateTime we do it in UTC (e.g. using
DateTime.UtcNow), and whenever we display one, we convert back from UTC to the user's local time.
That works fine, but I've been reading about
DateTimeOffset and how it captures the local and UTC time in the object itself. So the question is, what would be the advantages of using
DateTimeOffset compared to what we have already been doing?