サーバ時刻を取得する

サーバ時刻を取得する

ローカルの時刻取得しても人によってばらばらになっちゃうからサーバから時間取るかぁ。ってときのあれこれ

パターン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

クライアント開発者向け情報(ガイドライン)
1IPアドレスからのアクセスについては1秒以上の間隔を空けてアクセスをお願いします。
*現在多くのアクセスを頂いておりますが、
アクセス過多が発生した場合には予告なくサービスの停止を行います。

http://www.nict.go.jp/JST/http.html

LEAVE A REPLY

*
*
* (公開されません)