47

我正在寻找一个可靠的REST API,它可以跨平台提供世界时间和时区信息

我需要当前时间作为字符串。无论用户在全球的位置如何,我都希望它在一秒钟内返回结果。

在其他实现中,我想将它用于一致的倒数计时器,比用户的[可能不准确的]计算机时间更准确。它可以是 GMT 或其他时区,只要指定了时区和偏移量,例如2012-11-05 16:16:50 EST.

我会自己构建这个 API,但在通过Rails 这样的整个大型软件堆栈过滤某人只是为了返回一个简单的String.

远离美国东海岸的用户的过度延迟将抵消任务所需的准确性带来的好处。

感谢任何建议和/或示例。

4

3 回答 3

20

TimezoneDb 提供免费 API:http ://timezonedb.com/api

GenoNames 还有一个 RESTful API 可用于获取给定位置的当前时间:http ://www.geonames.org/export/ws-overview.html 。

如果您喜欢 GMT,您可以使用英国格林威治。

于 2012-11-05T21:19:24.390 回答
8

此 API 为您提供当前时间和 JSON 格式的多种格式 - https://market.mashape.com/parsify/format#time。这是一个示例响应:

{
  "time": {
    "daysInMonth": 31,
    "millisecond": 283,
    "second": 42,
    "minute": 55,
    "hour": 1,
    "date": 6,
    "day": 3,
    "week": 10,
    "month": 2,
    "year": 2013,
    "zone": "+0000"
  },
  "formatted": {
    "weekday": "Wednesday",
    "month": "March",
    "ago": "a few seconds",
    "calendar": "Today at 1:55 AM",
    "generic": "2013-03-06T01:55:42+00:00",
    "time": "1:55 AM",
    "short": "03/06/2013",
    "slim": "3/6/2013",
    "hand": "Mar 6 2013",
    "handTime": "Mar 6 2013 1:55 AM",
    "longhand": "March 6 2013",
    "longhandTime": "March 6 2013 1:55 AM",
    "full": "Wednesday, March 6 2013 1:55 AM",
    "fullSlim": "Wed, Mar 6 2013 1:55 AM"
  },
  "array": [
    2013,
    2,
    6,
    1,
    55,
    42,
    283
  ],
  "offset": 1362534942283,
  "unix": 1362534942,
  "utc": "2013-03-06T01:55:42.283Z",
  "valid": true,
  "integer": false,
  "zone": 0
}
于 2013-03-06T01:56:26.243 回答
6

如果您使用的是 Rails,您可以在公共文件夹中创建一个空文件并使用 ajax 来获取它。然后解析Date 标头的标头。Public 文件夹中的文件绕过 Rails 堆栈,因此延迟较低。

于 2012-11-06T15:43:01.827 回答