サーバ時刻を取得する
ローカルの時刻取得しても人によってばらばらになっちゃうからサーバから時間取るかぁ。ってときのあれこれ
パターン1
サーバに時間を返すAPIを設置する
PHPを使用してjson形式で時間を返してくれるファイルを設置する
header("Content-Type: application/json; charset=UTF-8"); // UNIX TIMESTAMPを変数に格納する $timestamp = time(); //json返却用の変数 $ResultArr = array("st" => $timestamp); echo json_encode($ResultArr);
取得したデータはこんなかんじだよー
{"st":1553239209}
受け取ったらjQueryで読み込むよー
$.getJSON("ajax.php",function(json){ var Dates = new Date ( json.st * 1000 ); var Dates = new Date( json.st * 1000 ); var year = Dates.getFullYear(); var month = Dates.getMonth() + 1; var day = Dates.getDate(); var hour = ( '0' + Dates.getHours() ).slice(-2); var min = ( '0' + Dates.getMinutes() ).slice(-2); var sec = ( '0' + Dates.getSeconds() ).slice(-2); console.log(year+"年"+month+"月"+day+"日"+hour+"時"+min+"分"+sec+"秒"); });
パターン2
NICTの公開しているAPIを利用する
jQueryで読み込むよー
$.getJSON("https://ntp-b1.nict.go.jp/cgi-bin/json",function(json){ var Dates = new Date ( json.st * 1000 ); var Dates = new Date( json.st * 1000 ); var year = Dates.getFullYear(); var month = Dates.getMonth() + 1; var day = Dates.getDate(); var hour = ( '0' + Dates.getHours() ).slice(-2); var min = ( '0' + Dates.getMinutes() ).slice(-2); var sec = ( '0' + Dates.getSeconds() ).slice(-2); console.log(year+"年"+month+"月"+day+"日"+hour+"時"+min+"分"+sec+"秒"); });
取得したデータはこんなかんじだよー
{ "id": "ntp-a1.nict.go.jp", "it": 0.000, "st": 1553237704.370, "leap": 36, "next": 1483228800, "step": 1
クライアント開発者向け情報(ガイドライン)
http://www.nict.go.jp/JST/http.html
1IPアドレスからのアクセスについては1秒以上の間隔を空けてアクセスをお願いします。
*現在多くのアクセスを頂いておりますが、
アクセス過多が発生した場合には予告なくサービスの停止を行います。
LEAVE A REPLY