Timestamp Formatting
Introduction
When using the WebTSM Services it is important to consider time zones. The local time between the client sending a request and the server handling the request and responding to it can differ, which can lead to unexpected or undesirable results. Timestamp formatting is a way to remedy this challenge.
Timestamps Without Time Zone Information
When sending a request without any time zone information, the timestamps will be interpreted according to server host local time.
Example
- WebTSM Services hosted in Vienna
- Client application running in London
- If the client sends a request without time zone information, the timestamp will be interpreted as Vienna local time
- In this example the timestamp "2020-09-01T08:00:00" will be interpreted as "2020-09-01T08:00:00+01:00"
Even more complexity around timestamps arises when considering daylight saving time. The timestamp "2020-10-25T02:00:00" for example could both refer to "2020-10-25T02:00:00+01:00" or "2020-10-25T02:00:00+02:00".
Timestamps With Time Zone Information
In order to avoid problems resulting from different time zones it is recommended to always include time zone information in timestamps.
Example
- WebTSM Services hosted in Vienna
- Client application running in London
- Client sends a request with a timestamp "2020-09-01T07:00:00Z"
- This timestamp will be interpreted as a UTC timestamp, thus circumventing the topic of time zones entirely
Examples for Timestamps With Time Zone Information
- 2020-09-01T07:00:00Z
- The postfix character "Z" classifies the given timestamp as a UTC timestamp, detached from any time zones.
- 2020-09-01T08:00:00+01:00
- The added offset "+01:00" specifies the deviation of the given timestamp from UTC time, which also results in a timestamp that does not depend on any time zones.
Calendar Days
Currently the calendar days are calculated in the local time of the services host. This affects the following request:
GET /repositories/{repository}/calendars/{ID|name}/days
The possibility to save a time zone for a specific calendar is in development and will be available in a future release.