What is the recommended best practice when it comes to storing date/time for an application that needs to support multiple timezones?

Which is best ?

  • Use the SQL DateTime data type and insert date/time as UTC (e.g. convert local time to UTC in application business layer and pass to DB already in UTC format)
  • Use the SQL DateTimeOffset data type which will record the offset relative to UTC?

1 Answer 1


Use the DateTimeOffset datatype. Each server would store the data locally in its own timezone, storing the offset from UTC as well. When data is gathered to a central area, you can easily convert to UTC for comparison purposes.

  • When using DateTimeOffset is there any need to have other tables storing timezones and daylight saving times or is it enough to have the local time with offset from UTC for any date calculations that may be required? see here for example.
    – Matt F
    Dec 6, 2011 at 9:41
  • Can DateTimeOffset be used when servers will be hosted in a single timezone? Or is it best to use DateTime and store all as UTC and lookup offset for displaying on UI?
    – Matt F
    Dec 8, 2011 at 10:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.