Loading... 有的时候,需要校准本地时间的时候,或者自己写的软件需要一个北京时间的时候,我们通常都需要联网去找一些提供这些服务的网站。以前百度就有提供类似的服务,但经年累月,好些服务都物是人非了。 之前在维护精易模块的时候,也是想弄一个提供即时北京时间的网站,结果找的那个网站却遇到了在一定的时间内重复获取不会更新的尴尬。因此那个时间获取不是即时的。 所以我也考虑一下有没有办法能在自己的服务器弄一个提供北京时间的服务。 最后,咱们有了如下的服务工具: [http://api.xueshanlinghu.com/checktime/](http://api.xueshanlinghu.com/checktime/) 直接打开即可获取即时的北京时间。 它的原理就是 php 脚本即时获取服务器的时间,因此前提就是服务器的时间准确,首先定期同步服务器电脑的时间这是首要的。 然后就是 php 脚本的时区。咱们用的是 php7 版本,那么在 php7 的 `php.ini` 文件中,需要配置默认的时区。不配置的情况下,默认的时区是 `GMT` 时间的时区,如果你需要给你计算的是东八区的北京时间,有两种方法,一种是将 `php.ini` 文件中的 `date.timezone` 这一行前面的分号去掉,然后给它赋值 `PRC`,指的就是中国时区,这样 php 脚本中的 `date` 函数和 `time` 函数获取到的就是北京时间了。 另一种方法就是不改时区,毕竟原始获取的是零时区,那在获取时间戳的时候,加上对应的时区秒数就可以了。比如默认为零时区,如果需要东八区,那么就需要在现有获取的时间戳上加上八小时对应的秒数 `8 * 60 * 60`。这样也可以获取到正确的时间。 其他的就很简单了,在该站点下新建了一个目录,名叫“checktime”,然后目录下放一个 `index.php` 文件即可,访问目录,即可自动访问主页地址。 那么 `index.php` 文件的内容写一些什么呢? 如下:(使用 utf8 编码) ```php <?php $time = time(); echo $time.'<br/>'; $datetime = date("Y-m-d H:i:s", $time); echo $datetime.'<br/>'; ``` 打开页面后,第一行返回的是现行北京时间时间戳(10 位,到秒)。 第二行返回的是转换为年月日时分秒后的北京时间。 获取到网页源码后,通过 `<br/>` 分割文本即可。 最后修改:2021 年 08 月 15 日 © 允许规范转载 赞 赠人玫瑰,手留余香