How does ARC handles timezone changes? I just recently came back from traveling and reviewing/correcting my arc timeline. The times displayed in the app when I was in a different timezone reflects the time in that timezone or where I am right now (or system settings timezone)?
When each sample is recorded, every few seconds, it’s stored with a timezone value to indicate the timezone the device was in at recording time. Then in the app’s UI that information is used to make sure the start/end times of timeline items are shown in the local timezone they were recorded in.
So for example if you went for a 7am walk, then travelled to a different timezone, that 7am would would still show as “7am” in Arc’s UI.
Aside: The dates themselves are always stored as UTC dates in the database. But because there’s also a timezone property stored for every sample, it’s possible to know what correct time text to show in the UI.
There are some tricky edge cases though. For example if you travel such that the start of the day is in one timezone then end in a different timezone. The “daily” timeline view will fetch a 24 hour period based on the current timezone, so the start of the day in that view will be incorrect.
If a single timeline item, for example an airplane flight, crosses over timezones, then its duration will still be calculated and displayed correctly (based on UTC dates for start and end), and in the UI the displayed start time will be the local time in the starting timezone, and displayed end time the local time in the ending timezone. So those items essentially do the “correct” thing, albeit sometimes not the intuitive thing.
Thank you for the clear explanation.