diff --git a/devdocs/specs/core-locale-currency-numbers-time-and-dates.txt b/devdocs/specs/core-locale-currency-numbers-time-and-dates.txt index baf29d08..6357bd09 100644 --- a/devdocs/specs/core-locale-currency-numbers-time-and-dates.txt +++ b/devdocs/specs/core-locale-currency-numbers-time-and-dates.txt @@ -1,12 +1,17 @@ TIME (DATE AND TIME handling) -RAVEN stores all times and dates in UTC in DB and internally all is UTC -User has a timezone offset setting which is used to format dates for display at the client -Dates coming from the client are all assumed to be in UTC format (i.e. converted at the client from input) -TimeZoneOffset is also used for relative date filters in list filter retrieval. - - i.e. "NextMonth" is assumed to be client relative, so the server will use their offset to calculate what next month meens to them in the query builder - +SERVER RESPONSIBILITIES FOR DATES AND TIME ZONES: + - User object has a timezone offset field which is user selectable + - stores all times and dates in UTC in DB + - expects dates coming from client to be in UTC + - Does take into account timezone offset when FILTERING a LIST for sending to the client that has a relative date filter like [NEXTMONTH] + - This is the only place on the server where the user's time zone offset is used for anything +CLIENT RESPONSIBILITIES FOR DATES AND TIME ZONES + - Send all datetime fields on records to the server in UTC + - Displayed dates and times are adjusted to user timezoneoffset + + CURRENCY - Displayed and accepted based on UserOption currency symbol