Вопрос по api, timezone-offset, rest, timer, time – Free Rest API для извлечения текущей даты и времени в виде строки (часовой пояс не имеет значения) [закрыто]

35

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

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

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

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

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

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

@ashleedawg: Вопрос все еще не по теме. Вы пропустилиНекоторые вопросы все еще не по теме,даже если они вписываются в одну из категорий, перечисленных выше часть, возможно? Вопросы, которые не относятся к программным инструментам, обычно используемым программистами, являются не относящимися к теме, несмотря ни на что, вопросы рекомендаций не по теме, даже если они касаются программных инструментов. Количество просмотров никогда не влияет на определение того, является ли сообщение не по теме. Martijn Pieters♦
@ashleedawg Я удалил твой комментарий, как будто он был из лучших побуждений, он был введен в заблуждение. Дайте мне знать, если у вас есть какие-либо проблемы. Yvette Colomb♦
Это грубо, но работает:wget -q -O - www.worldtimeserver.com/time-zones/cst | grep "Server Time", Очевидно, вы можете изменить часовой пояс. Получение даты требует немного больше работы, но это на странице. Также вы можете получить значение времени, если вы используете grep для serverTimeStamp, но вам, очевидно, придется выполнить какое-то преобразование kernelsmith
Смотрите такжеhttp://worldclockapi.com/... бесплатно, без регистрации, просто.Примеры: Время UTC сейчас а также"Находится ли Сиэтл / PST в летнее время 20 апреля 2019 года?". ashleedawg

Ваш Ответ

3   ответа
6

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

503: превышение квоты. Это приложение временно превысило квоту обслуживания. Пожалуйста, повторите попытку позже. MrYellow
Заблокирован chrome (и другими современными браузерами?), Если сервер не возвращает дополнительные заголовки, позволяющие это сделать. yar1
1 / Требуемые заголовки CORS для такого междоменного запроса: Access-Control-Allow-Origin: * (или ваш домен) Access-Control-Expose-Headers: Дата 2 / Замечено в Android 4.1.2: Access-Control-Expose- Заголовки игнорируются. Вы получите только заголовок Content-Type. Поэтому по этой причине избегайте междоменных запросов. 3 / Если вы повторяете запрос ajax и браузер кэширует ответ, вы можете не получить заголовок Date. Поэтому, если вам нужно выполнить этот запрос несколько раз, я предлагаю добавить случайную строку запроса в ваш URL-адрес ajax-запроса, чтобы предотвратить кэширование. figolu
16

http://timezonedb.com/api

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

Вы можете использовать Гринвич, Великобритания, если вы хотите GMT.

Оба эти отстой, к сожалению. GeoNames не возвращает секунды, которые мне нужны. И я смог получить успешный ответ от TimezoneDb только один раз, в основном он просто дает мне 403 Запрещено (хотя я определенно использую правильный формат и ключ, который они мне дали). Я хотел бы, чтобы это сработало! chadoh
Используете ли вы Javascript на веб-интерфейсе? Это возможно с помощью Javascript без использования дополнительных API или фреймворков. Я бы лично пошел по этому пути, а не полагался на сторонний API. Aamir
Я использую JavaScript. И это работает, за исключением того, что компьютерное время пользователя может быть неточным на несколько минут. Вот почему я предпочел бы получить время с помощью API-вызова с низкой задержкой, который гарантированно будет точным в пределах отклонения упомянутой задержки. chadoh
10

Этот 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
}
Ссылка изменилась. Теперь есть:market.mashape.com/parsify/format#time wst
Приятно! Я искал что-то более простое (я просто хотел простую строку), но это хорошо знать. chadoh

Похожие вопросы