PHP获取网络时间

大家知道,我们一般获取时间无论是time或者是data他只是获取服务器时间,这个没毛病,但是把时间更改了呢!so,整理了下获取中科院国家授时中心的时间(大家放心,很准的^_^),下面附上代码:

$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); //函数写入文件 fwrite()别名

$resp = " ";while($fp && !feof($fp)) //输出文本中所有的行,直到文件结束为止

$resp .= fread($fp,1024); //函数读取文件,在文件中读取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]));//将数组转成unix时间戳 然后格式化时间戳

return $time.' '.$week;

最后输出的是网络时间,这样大家就不用担心更改服务器时间的问题了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值