当用户注册我们的应用程序时,我们可以根据国家数据库对其进行验证,从而推断出他们的邮政编码。从该邮政编码确定其时区的最佳潜在猜测方法是什么?
我们正在努力最大限度地减少我们明确要求他们提供的数据量。如果我们的最佳猜测是错误的,他们稍后将能够手动设置时区。我意识到邮政编码无助于确定美国以外的时区,但在这种情况下,我们无论如何都必须手动询问,而且无论如何,我们主要与美国打交道。
我找到了很多邮政编码数据库,到目前为止只有少数包含时区信息,但那些包含时区信息的数据库不是免费的,例如this one。如果绝对需要付费订阅服务才能做到这一点,那么这是不值得的,我们只需明确询问用户即可。
尽管语言并不是特别相关,因为我可能可以根据需要转换内容,但我们使用的是 PHP 和 MySQL。
我刚刚找到一个免费 zip 数据库其中包括时间偏移和参与 DST。我确实喜欢 Erik J 的答案,因为它可以帮助我选择实际的时区,而不仅仅是偏移量(因为你永远无法完全确定规则),但我想我可以从这个开始,并让它尝试根据偏移/夏令时配置找到最佳时区匹配。我想我可能会尝试设置一个简单版本的 Development 4.0 的答案,以检查我从 zip 信息中获得的内容作为健全性测试。这绝对不像我希望的那么简单,但组合应该可以让我至少 90% 确定用户的时区。