Client API: How to Store Dates in RavenDB Using UTC and Using Local Time
When you store a date to RavenDB, it will save whether it's UTC or not. When it's not UTC, a local date is treated as "Unspecified".
However, if you have people from around the world using the same database and you use unspecified local times, the offset is not stored. If you want to deal with this scenario you need to store the date using a DateTimeOffset
that will store the date and time, and its time zone offset.
The decision of whether to use UTC, Local Time, or DateTimeOffset
is an application decision, not an infrastructure decision. There are valid reasons for using any one of these.
ISO 8601 Compliance and Default Storing Formats
RavenDB is ISO 8601 compliant.
The default storing format for DateTime
is : "yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffff"
For storing DateTimeOffset
, RavenDB uses the Round-trip ("o") format
More Information
For detailed information about this topic, please refer to the Working with Date and Time in RavenDB article written by Matt Johnson.