不同时区的营业时间

Business hours in different timezones

我正在尝试将一个时区的用户营业时间显示到另一个时区。

一周中每一天的用户营业时间存储为以下对象

Timezone = Asia/Kolakata
Day number = 3 (Wednesday)
Hour = 7:00 (12 hour system)

以上是IST

但现在如果我需要为澳大利亚的用户保留此信息,我可以更改时区并获取值。但这是不正确的,因为一个时区周一可用的营业时间可能在另一个时区周二有效。处理这种转化的最佳方法是什么?

正在从 Firestore 存储和检索对象。

任何 help/guidance 将不胜感激

谢谢

如果您希望能够一次性查询所有时区的营业时间,则必须将所有营业时间存储在一个标准化的时区(通常为 UTC)中。

因此,您将 Hour(可能还有 Day number)字段采用 UTC,并且您将使用 Timezone 字段来指示商店所在的时区。

然后查询澳大利亚用户,你把他们当地的时区也转换成UTC,就可以跨所有文档查询了。

所以在这种方法中,所有存储在数据库中的时间都是规范化的,只有在将输入的数据转换为数据库格式时,或者在将数据库中的数据再次显示为显示值时才使用时区。