每个国家/地区是不是有“平均”时区?

Posted

技术标签:

【中文标题】每个国家/地区是不是有“平均”时区?【英文标题】:Is there an "average" time zone per country?每个国家/地区是否有“平均”时区? 【发布时间】:2015-04-06 16:54:09 【问题描述】:

我想安排一个在线多人游戏锦标赛,每个国家/地区一个,方便尽可能多的注册玩家开始时间。

基于 UTC 的全球开始时间对于许多国家来说是不方便的。例如,世界标准时间 17:00 对美国的人来说可能很好,但在澳大利亚则不然。

因此,我想让每个国家/地区都有自己的开始时间,比如 17:00,但以某种方式基于该国家/地区的当地时间。问题是许多国家有多个时区。

您是否建议我取每个国家/地区时区的平均值?例如,在美国,该国中部的开始时间为 17:00,每个海岸的开始时间为 +/- 2 小时。

我可以进一步尝试按时区划分用户,并在每个时区而不是国家/地区举办单独的锦标赛,但这会增加设计的复杂性并将锦标赛延长为多个小型锦标赛。也就是说,如果您在您的国家/地区赢得了 A 时区的锦标赛,您仍然需要击败 B、C、... 时区的获胜者,您的国家/地区才能被宣布为国家/地区冠军。

我不关心用户是否理解所有这些(当然)。到了该玩的时候,我会向他们显示通知。我更专注于选择一个方便的时间来保持参与度。

以前有人处理过这个问题吗?你是怎么“解决”的?

感谢您的意见。

【问题讨论】:

我这样做过一次,我的解决方案是根据访问者的地理位置(或 UTC % 8)将世界划分为 8 个时区...每个分组 3 个时区 我认为这个问题不属于 Stack Overflow。也许试试gis.stackexchange.com 【参考方案1】:

每个国家/地区是否有“平均”时区? 没有。许多国家/地区都有多个时区。有时,由于时区适用于岛屿或海外领土,特定国家/地区的时区甚至不相近。

但是您可以为您的游戏创建一个吗? 是的。当然,它不一定反映世界的现实。有些用户会落后于该区域的时间,有些用户会领先。

您可以考虑为不同的锦标赛组分配单独的开始/结束时间。例如,您可以说美国锦标赛在中部时间上午 8 点开始。其他美国时区的用户是否具有相同的本地时间并不重要 - 他们只会相应地在本地时间更早或更晚开始。

【讨论】:

【参考方案2】:

中国有 1 个时区。因此,可能只有美国、加拿大、俄罗斯和澳大利亚严重使用多个时区——可能值得只硬编码这些时区(例如在大多数情况下它们的首都)。

但很少有国家不太重视使用多个时区:大加那利岛比西班牙其他地区晚 1 小时。瓜德罗普岛比法国其他地区晚 6 小时左右(= GMT+1)。对于法国,您需要忽略它,因为平均值 (= GMT-2) 不是您想要的。

【讨论】:

其实还有很多,尤其是巴西和墨西哥。 This list on Wikipedia 显示了更多(尽管它也包括每个国家拥有的领土)。 W3C 对此也有话要说。

以上是关于每个国家/地区是不是有“平均”时区?的主要内容,如果未能解决你的问题,请参考以下文章

来自时间戳和国家/地区的 pyspark 时区转换

PHP如何从国家代码和地区返回时区

获取iOS时区中的城市和国家/地区列表

javascript 按国家/地区代码设置默认时区

伦敦是啥时区

各个国家区时中的分钟秒钟都是同样的吧,只是小时数不同是吗