【发布时间】:2013-03-02 21:07:02
【问题描述】:
我想编写一个 RoR 移动应用程序,它可以为我提供给定电话号码所在国家/地区的当前时间及其区号。有什么好的api吗?
【问题讨论】:
标签: timezone phone-number
我想编写一个 RoR 移动应用程序,它可以为我提供给定电话号码所在国家/地区的当前时间及其区号。有什么好的api吗?
【问题讨论】:
标签: timezone phone-number
如果您对项目的adding Javascript 没问题,那么您可能想尝试ChronoMouse.js,这将有助于获取当前时间、GMT 偏移量、时区名称、位置、首都、夏令时法律或任何美国/加拿大区号或国家/地区代码的夏令时状态。
对于国家/地区代码,信息基于首都。
例如:
console.log( getLocalInfo('+49').time.display );
// 15:07
有关更多示例和文档,请参阅www.chronomouse.com。
注意:我是该项目的作者。
【讨论】:
不是个好主意。
对于具有多个不同时区和多个区号的国家/地区,您会怎么做?时区到区号不一定是一对一的映射。
例如,在美国,928 区号覆盖了亚利桑那州的大部分地区,包括两个不同的时区,因为在该州的东北部,纳瓦霍族实行夏令时,而亚利桑那州的其他地区则没有。因此,在一年中的部分时间里,928 区号的两个不同部分之间存在一小时的差异。
一个更简洁的例子 - 605 区号覆盖了整个南达科他州。该州西半部使用山区时间,该州东半部使用中部时间。
我敢肯定,在美国以外还有很多例子。
此外,人们带着手机旅行。我知道有 3 个人在搬到新电话号码后使用不同的区号保留他们的电话号码。
此外,Mobile Number Portability 和 Local Number Portability 允许人们搬到其他区域并保留他们的电话号码 - 包括区号。因此,区号只会告诉您号码最初来自哪里,而不是现在的位置。
【讨论】:
这可以帮助您将国家代码映射到国家名称https://github.com/hexorx/countries
Countries 是 ISO 3166 标准中每个国家/地区的各种有用信息的集合。它包含以下标准 ISO3166-1(国家/地区)、ISO3166-2(州/细分)、ISO4217(货币)和 E.164(电话号码)的信息。 gem 还添加了一个 country_select 助手。我将添加我可以访问的任何基于国家/地区的数据。我希望这是所有国家信息的存储库。
【讨论】: