Подтвердить что ты не робот

Free Rest API для извлечения текущего datetime как строки (часовой пояс не имеет значения)

Я ищу надежный REST API, который может предоставлять информацию о мире и часовом поясе на разных платформах.

Мне нужно текущее время как строка. Я хотел бы, чтобы он возвращал результат в течение секунды, независимо от местоположения пользователя по всему миру.

Среди других реализаций я хочу использовать это для последовательного таймера обратного отсчета, чтобы быть более точным, чем пользовательское (возможно, неточное) время компьютера. Это может быть GMT или другой часовой пояс, если указан часовой пояс и смещение, например 2012-11-05 16:16:50 EST.

Я сам создавал бы этот API, но имел бы проблемы с потенциальными проблемами латентности (а также с неэлеганством) при фильтрации кого-либо через целый большой стек программного обеспечения, такой как Rails, чтобы вернуть простострую String.

Чрезмерная латентность для пользователей, находящихся далеко от восточного побережья США, будет компенсировать точность, которую требует задача.

Любые предложения и/или примеры приветствуются.

4b9b3361

Ответ 1

Если вы используете Rails, вы можете просто сделать пустой файл в общей папке и использовать ajax для его получения. Затем проанализируйте заголовки для заголовка даты. Файлы в общей папке обходят стек Rails и, следовательно, имеют более низкую задержку.

Ответ 2

TimezoneDb предоставляет бесплатный API: http://timezonedb.com/api

GenoNames также имеет RESTful API, доступный для получения текущего времени для данного местоположения: http://www.geonames.org/export/ws-overview.html.

Вы можете использовать Greenwich, UK, если хотите GMT.

Ответ 3

Этот 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
}