【问题标题】:Is there a time server that offers an API that i can grab the current eastern time from?是否有提供 API 的时间服务器,我可以从中获取当前东部时间?
【发布时间】:2012-03-21 21:27:31
【问题描述】:

好的,我们的网站上有倒计时,我需要调用 api 来获取当前的东部时间。我有这个link,这是我需要的时间。有什么方法或任何网络服务可以让我使用返回当前时间的 jquery get 请求.....任何信息都会有所帮助

【问题讨论】:

  • 不确定……这就是我想知道的……或者如果有人知道我可以从另一台服务器获得时间
  • 您的服务器无法提供当前时间?
  • 如果你没有任何特别的理由让你的生活变得复杂,你可以相信服务器时间并使用它

标签: jquery web-services api time timezone


【解决方案1】:

http://worldclockapi.com/ 很有帮助。

试试这个:http://worldclockapi.com/api/json/est/now

您可能想要使用 JSONP 版本或某种CORS proxy

【讨论】:

    【解决方案2】:

    最简单的答案是从您的服务器获取当前时间,因为这样可以避免跨域问题。

    • 每个操作系统都有一个mechanism,它将本地时钟与更可靠的计时源(例如 NIST 的原子钟)同步。如果还没有,请将您的服务器配置为将其时钟与这些来源之一同步。
    • 用您选择的语言编写一个脚本,将当前时间作为 JSON 对象返回,这相对简单。不那么简单的是确保脚本返回正确时区的时间,考虑 DST(夏令时)——无论 ET 是 UTC-5 还是 UTC-4。许多框架会为您解决这个问题,但有些框架不会。

    请记住,您仍然不能(也不能)保证第二分辨率的准确性。通过从服务器请求时间,您完全受制于无法通过 JavaScript 测量的网络条件。一个客户端可能会在几十毫秒内收到 AJAX 时间请求,而其他连接质量低的客户端甚至可能需要几十

    事实上,在许多情况下,使用客户端的时钟可能更可靠,因为它也将通过 NTP 同步到可靠的时间源。我相信 Windows 默认启用了 NTP 同步。您最好的选择可能是对服务器的当前时间和日期发出 AJAX 请求,如果本地机器的时间在服务器时间的 20 秒左右,则使用本地时间。

    【讨论】:

      【解决方案3】:

      我使用http://www.timeapi.org/ 来获取当前时间。它可以以多种格式返回日期/时间,并且免费且易于使用。显然,服务器时间很容易获得,但有时这不是一个选项,这就是我在几次使用这个 API 的原因。您可以使用他们网站上列出的纯 JavaScript 方法,但我选择了 jQuery AJAX 调用:

      $.ajax({
          type: "GET",
          url: 'http://www.timeapi.org/utc/now.json',
          dataType: "jsonp",
          context: this
      }).done(function(data) {
          // do stuff
      })
      .fail(function(){
          throw new Error('timeAPI ajax called failed!');
      });
      

      【讨论】:

        猜你喜欢
        • 2022-07-06
        • 1970-01-01
        • 1970-01-01
        • 2020-09-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多