ROOK uses Coordinated Universal Time (UTC) as its standard for internal data processing and storage. However, ROOK also takes into account users' local timezones to ensure data relevance and accuracy for its clients. Here's a detailed look at how timezones are handled within the ROOK platform:
Standardized Datetime Format:
ROOK uses the ISO 8601 format for all date times: YYYY-MM-DDTHH:MM:SS.MS+-TZ.
Timestamps are aligned to UTC (Z) unless otherwise specified. For example, '2023-08-09T15:30:50.456700Z' represents a specific time in UTC.
If a timestamp does not include a timezone, it is assumed to be in UTC.
This standardized format simplifies data integration across various sources and systems.
User's Local Timezone:
While data is stored in UTC, ROOK uses the user’s local timezone for several operations:
Data Extraction: Summaries are extracted based on the user's local time zone. This ensures that daily summaries reflect the user's actual day.
Default Extraction Times:
Physical summaries are extracted at 00:01 (1 minute after midnight) in the user's local time.
Sleep summaries are extracted at 12:00 (noon) in the user's local time.
Custom Extraction Times: Clients can request custom extraction times if they have specific needs.
Time Zone Add-on:
The Time Zone add-on is activated by default in ROOKConnect and ensures that daily summary information is extracted and delivered based on each user's local timezone.
This add-on provides the functionality needed to adjust timestamps, ensuring they align with the user's specific location.
Data Harmonization:
ROOK performs data harmonization, which includes adjusting timestamps to align with the user's local time zone. This step ensures that data from different timezones is consistently represented.
Impact on Data Delivery:
ROOK’s use of local timezones for extraction means that summaries are generated at appropriate times for users around the world.
Although the data is delivered in UTC for consistency, the timing of data collection and summary generation is based on the user’s local time zone.
This approach ensures that a user in Los Angeles receives their daily physical summary at 00:01 local time, while a user in London receives their summary at 00:01 local time in London, and that the data reflects the user's actual day.
UTC for Data Storage:
All data is ultimately reported in UTC for consistency.
This means that even though data is collected and processed using local timezones, all data is converted to and stored in UTC to ensure a uniform time standard.
Example of Time Zone Conversion:
A timestamp like '2023-08-09' is converted to '2023-08-09T00:00:00.000000Z'.
'2023-08-09T15:30:50.4567' becomes '2023-08-09T15:30:50.456700Z'.
A timestamp with a specified timezone like '2023-08-09T15:30:50.4567+02:00' becomes '2023-08-09T15:30:50.456700+02:00'.
In summary, while ROOK uses UTC for its internal data storage and processing, it is designed to handle the impact of user timezones on data by extracting summaries based on the user's local time, providing a seamless and accurate experience for users worldwide. The time zone add-on, along with data harmonization ensures data is relevant to each user's specific location and the standardized datetime format ensures consistency across all systems.