47

プラットフォーム間で世界の時間とタイムゾーンの情報を提供できる信頼性の高いRESTAPIを探しています。

現在の時刻を文字列として必要です。世界中のユーザーの場所に関係なく、1秒以内に結果を返すようにしたいと思います。

他の実装の中でも、これを一貫したカウントダウンタイマーに使用して、ユーザーの[おそらく不正確な]コンピューター時間よりも正確にしたいと思います。タイムゾーンとオフセットが指定されている限り、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ヘッダーのヘッダーを解析します。パブリックフォルダー内のファイルはRailsスタックをバイパスするため、レイテンシーが低くなります。

于 2012-11-06T15:43:01.827 に答える