一、方法一(该方法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>