【问题标题】:Get current time with a phone number通过电话号码获取当前时间
【发布时间】:2013-03-02 21:07:02
【问题描述】:

我想编写一个 RoR 移动应用程序,它可以为我提供给定电话号码所在国家/地区的当前时间及其区号。有什么好的api吗?

【问题讨论】:

    标签: timezone phone-number


    【解决方案1】:

    如果您对项目的adding Javascript 没问题,那么您可能想尝试ChronoMouse.js,这将有助于获取当前时间、GMT 偏移量、时区名称、位置、首都、夏令时法律或任何美国/加拿大区号或国家/地区代码的夏令时状态。

    对于国家/地区代码,信息基于首都。

    例如:

    console.log( getLocalInfo('+49').time.display );
    
    // 15:07
    

    有关更多示例和文档,请参阅www.chronomouse.com

    注意:我是该项目的作者。

    【讨论】:

      【解决方案2】:

      不是个好主意。

      对于具有多个不同时区和多个区号的国家/地区,您会怎么做?时区到区号不一定是一对一的映射。

      例如,在美国,928 区号覆盖了亚利桑那州的大部分地区,包括两个不同的时区,因为在该州的东北部,纳瓦霍族实行夏令时,而亚利桑那州的其他地区则没有。因此,在一年中的部分时间里,928 区号的两个不同部分之间存在一小时的差异。

      一个更简洁的例子 - 605 区号覆盖了整个南达科他州。该州西半部使用山区时间,该州东半部使用中部时间。

      我敢肯定,在美国以外还有很多例子。

      此外,人们带着手机旅行。我知道有 3 个人在搬到新电话号码后使用不同的区号保留他们的电话号码。

      此外,Mobile Number PortabilityLocal Number Portability 允许人们搬到其他区域并保留他们的电话号码 - 包括区号。因此,区号只会告诉您号码最初来自哪里,而不是现在的位置。

      【讨论】:

      • 嘿,马特。感谢您的回答。你有什么其他的想法来获取手机拥有者的当地时间吗?
      • @user1666543 - 请更好地描述上下文。你有关于这个人的更多信息吗?他们在呼叫 IVR 吗?他们是否以某种方式在网站上预先注册?这是一个智能手机应用程序吗?还是只是某个匿名人士,而您只有来电显示?
      • 暂时没有预注册。只是匿名来电显示。
      • 那你就不可能绝对准确。你没有足够的数据。如果您想做出更好的猜测,您可以将更多电话号码交叉引用到地理位置参考点。这将非常具体到所涉及的国家。例如,您可以将this database 用于美国和加拿大。获得参考点的纬度/经度后,有很多方法可以从地理位置获取时区(谷歌或搜索 S.O.)。
      【解决方案3】:

      这可以帮助您将国家代码映射到国家名称https://github.com/hexorx/countries

      Countries 是 ISO 3166 标准中每个国家/地区的各种有用信息的集合。它包含以下标准 ISO3166-1(国家/地区)、ISO3166-2(州/细分)、ISO4217(货币)和 E.164(电话号码)的信息。 gem 还添加了一个 country_select 助手。我将添加我可以访问的任何基于国家/地区的数据。我希望这是所有国家信息的存储库。

      【讨论】:

      • 这与问题无关。
      猜你喜欢
      • 1970-01-01
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      • 2018-11-01
      • 1970-01-01
      • 2020-09-11
      • 2011-06-03
      相关资源
      最近更新 更多