'/api/parsetime' への GET リクエストの時に JSON のデータを返す HTTP サーバ を書いてください。リクエストのクエリには 'iso' と言う ISO 形式のタイムスタンプパラメーターが渡されるものとします。
すなわち:
/api/parsetime?iso=2013-08-10T12:10:15.474Z
レスポンスはそのタイムスタンプの時間、分、秒のデータである 'hour', 'minute' と 'second' の JSON プロパティです:
{
"hour": 14,
"minute": 23,
"second": 15
}
また、'/api/unixtime' への GET リクエストも作ってください。そこでも同じクエリパラメーターを使って UNIX の epoch time (※) を JSON の 'unixtime' というプロパティに格納して返してください:
{ "unixtime": 1376136615474 }
※ UNIX の epoch time : 1970/01/01 00:00:00.000 からカウントされた時間(ミリ秒単位)
サーバは最初の引数で与えられたポートをリッスンします。
リクエストごとに正しいエンドポイントを選択するために request
オブジェクトの url
プロパティを使ってください。
クエリを URL からをパースするためには Node.js のコアモジュール url
が役に立ちます。url.parse(request.url, true)
は request.url
のコンテンツを解釈して有用なオブジェクトを返します。
例としてコマンドラインで以下を実行してみてください:
$ node -pe "require('url').parse('/test?q=1', true)"
url
モジュールのドキュメントはブラウザーでこのリンクを見てください:
/node_apidoc/url.html
サーバからのレスポンスは JSON 文字列の形式にしてください。JSON.stringify()
について調べたほうがよいです。
良いインターネットの住民であるために Content-Type ヘッダーをつけてください:
res.writeHead(200, { 'Content-Type': 'application/json' })
JavaScript の Date
オブジェクトは ISO 形式で出力できます。例えば:new Date().toISOString()
を使って。
逆に、Date
のオブジェクトを作るときには ISO の時間形式も解釈できます。例えば: new Date(isoString)
。 Date#getTime()
も役に立つと思います。