私は、信頼できるREST APIを探しています。これは、プラットフォーム間のワールドタイムとタイムゾーン情報を提供できます。
文字列として現在の時刻が必要です。世界中のユーザーの場所に関係なく、1秒以内に結果を返すにしたいと思います。
他の実装の中でも、ユーザーの[不正確な可能性のある]コンピューター時間よりも正確になるように、一貫したカウントダウンタイマーにこれを使用します。 2012-11-05 16:16:50 EST
などのタイムゾーンとオフセットが指定されている限り、GMTまたは別のタイムゾーンを指定できます。
私は自分でこのAPIを構築しますが、単純なString
を返すためだけにRailsのような大きなソフトウェアスタック全体をフィルタリングする場合、潜在的な遅延の問題(および優雅さ)の懸念があります。
米国東海岸から遠く離れたユーザーの待ち時間が長すぎると、タスクに必要な精度の利点が相殺されます。
提案や例は歓迎します。
Railsを使用している場合は、パブリックフォルダーに空のファイルを作成し、ajaxを使用して取得できます。次に、Dateヘッダーに対して ヘッダーを解析 します。パブリックフォルダー内のファイルはRailsスタックをバイパスするため、待ち時間が短くなります。
TimezoneDbは無料のAPIを提供します: http://timezonedb.com/api
GenoNamesには、特定の場所の現在の時刻を取得するためのRESTful APIもあります: http://www.geonames.org/export/ws-overview.html 。
GMTが必要な場合は、英国のグリニッジを使用できます。
この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
}