05-04-2018, 12:48 PM
In short the best thing to do is store all db records with a single TZ. UTC is good.
Then for each user, you can get their TZ I believe in a browser header and in your Delphi code you adjust the time as part of its formatting that the user sees. It is essentially just formatting. And on the reverse, parse. But post/pre UI, deal only in UTC.
A user should also be able to override their TZ as part of their profile. For example, a user travels and is in a different TZ, but prefers to still see things in their home TZ.
Then for each user, you can get their TZ I believe in a browser header and in your Delphi code you adjust the time as part of its formatting that the user sees. It is essentially just formatting. And on the reverse, parse. But post/pre UI, deal only in UTC.
A user should also be able to override their TZ as part of their profile. For example, a user travels and is in a different TZ, but prefers to still see things in their home TZ.