In general, timestamps are recorded to the Registry database in UTC, albeit without any explicit label. This is based on the default timezone set in core.php. It is strongly recommended that this defaultĀ not be changed.

Because most people don't live or work in UTC, as of v1.0.0 Registry will attempt to output timestamps in the user's local timezone. This is done as follows:

  1. Using the preferred timezone of the current CO Person, if set. An administrator can set this via the CO Person record, or it may also be set via self service. When set via self service, the user must logout before the preference will take effect. Because this preference is attached to a CO Person record, it may not be applied when viewing non-CO specific pages (as an administrator might).
  2. Using browser detection, if no preferred timezone is set. Whenever a browser visits any Registry page, some local javascript will run and attempt to determine the current browser's timezone, which will then be stored in a cookie. On the next page load, the cookie will pass the detected timezone to Registry, which will then localize the time display accordingly.
  3. If no cookie is returned, using the default timezone (ie: UTC).

All times processed via the REST API are in UTC.