php+ajax 前台页面获取标准网络时间

一、方法一(该方法www.ntsc.ac.cn已获取不到数据,故新增方法二)
时间示例:

1、_gettime.php

<?php
	if($_POST['is_time']=='1'){ //用于判断前端ajax传值
		$weeks = array(
			'Mon'=>'星期一',
			'Tue'=>'星期二',
			'Wed'=>'星期三',
			'Thu'=>'星期四',
			'Fri'=>'星期五',
			'Sat'=>'星期六',
			'Sun'=>'星期日'
		);
		$server = "www.ntsc.ac.cn"; //中科院国家授时中心
		$date = "HEAD/HTTP/1.1\r\n";
		$date .= "Host:$server\r\n";
		$date .= "Connection:Close\r\n\r\n";
		$fp = fsockopen($server,80);
		fputs($fp,$date);
		$resp = " ";
		while($fp && !feof($fp))
			$resp .= fread($fp,1024);
		preg_match('/^Date:(.*)$/mi',$resp,$matches);
		$w = explode(',',$matches[1]);
		$week = $weeks[trim($w[0])];
		$time = date('Y-m-d H:i:s',strtotime($matches[1]));
		echo $time.'  '.$week;
		exit();
	}
?>

2、html文件

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>标准网络时间</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(function(){
	setInterval(function(){
		$.post(
			"_gettime.php",
			{is_time:1},
			function(data){
				$("#dtime").text(data);
			}
		)
	},1000);
})
</script>
</head>
<body>
	<span id="dtime"></span>
</body>
</html>

方法二、测试可行
转载自:https://www.cnblogs.com/7qin/p/10189971.html
时间示例:
在这里插入图片描述
1、_gettime.php

<?php
	if($_POST['is_time']=='1'){ //用于判断前端ajax传值
		$fp=fsockopen('time.nist.gov',13);
		$ufc = explode(' ',fread($fp,date('Y')));
		$date = explode('-',$ufc[1]);
		$processdate = $date[1].'-'.$date[2].'-'.date('Y').' '.$ufc[2];
		echo gmttolocal($processdate,8); //中国
		exit();
	}
	function gmttolocal($mydate,$mydifference){
	    $datetime = explode(" ",$mydate);
	    $dateexplode = explode("-",$datetime[0]);
	    $timeexplode = explode(":",$datetime[1]);
	    $unixdatetime = mktime($timeexplode[0]+$mydifference,$timeexplode[1],$timeexplode[2],$dateexplode[0],$dateexplode[1],$dateexplode[2]);
	    $weeks = ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'];
	    return date("Y-m-d H:i:s",$unixdatetime).' '.$weeks[date('w',$unixdatetime)];
	}
?>

2、html文件

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>标准网络时间</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(function(){
	setInterval(function(){
		$.post(
			"_gettime.php",
			{is_time:1},
			function(data){
				$("#dtime").text(data);
			}
		)
	},1000);
})
</script>
</head>
<body>
	<span id="dtime"></span>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值