|
|
我在美国主机侦探网热情、周到和快捷的帮助下,租用了GD第2方案主机。现在正紧张地建设中,争取在平安夜开通。欢迎站长们届时给予支持。下面,谈谈网站显示服务器时间的试验情况:
1、为何要显示服务器时间:
1-1 将网站架设到美国主机上,网站将会有各国的网友浏览,而各国的时区一般不一样,就发帖而言,这就会出现时间混乱的问题。
顺便插一句,国内很多网站(尤其是租用低档虚拟主机),国外是无法浏览到的。我不是胡说,因为我们联盟的海外站曾经就此做过试验。
1-2 国内网站是采用统一时间的,即北京时间。
1-3 建议:使用海外主机的网站都来显示服务器时间,而不要修改为其它时间。
另外,下象棋,要走一步看三步。使用海外主机建站也应如此。这是基于众所周知的原因的提前考虑。
有人说,这很简单,网上大量流行的JS代码,找一个就行了。答:不行!这些是显示客户端时间的,而不是服务器时间的。
那么,究竟应该怎么做呢?下面谈谈我试验的情况:
2、网站显示服务器时间的几种方法和利弊:
2-1 直接从美国主机上取:
一句代码,非常简单。但,占用服务器资源,流量大必然被关闭。此种方法最不可取。
2-2 从国际互联网的标准时间服务器上取:
取到数据后,与美国主机所在时区进行比较,将时差加或者减,然后,按照主机时区显示。
实现这方法,需要获得标准时间服务器的地址。中国有授时服务中心。国际有标准时间服务器。是否收费,有的收,有的不收。
2-3 从美国主机上取,但不是完全动态显示,只有浏览者点击网页刷新才初始化触发,之后,只要不关闭网页,则是动态显示的(秒可跳显)。代码如下:
<script language="JavaScript">
<!--
var c=0;
function stime() {
c++
sec=<?echo time()-strtotime('2006-3-6')?>+c;
H=Math.floor(sec/3600)%24
M=Math.floor(sec/60)%60
S=sec%60
if(M<10) M='0'+M
if(S<10) S='0'+S
document.clock.face.value = H+'点'+M+'分'+S
}
setInterval(stime,1000);
//-->
</script>
<body bgcolor="#3366cc" onload="stime()">
<form name="clock" onsubmit="0">
<input type="text" name="face" size="54">
</form>
上面的代码,只能在PHP页面显示。对于网页静态或者伪静态显示的,不能直接使用,需要调用,就是:在静态页面调用动态数据。
还是不怎么实用。
2-4 直接显示某一时区时间:
我租用的GD主机,经过测试是:美国山地时间GMT-7。因此,找能够直接显示时区的代码,修改成GMT-7即可。
我想到了万年历代码,将其时区时间初始化为GMT-7即可。
我看,DISCUZ论坛也是这么处理的,若是从其代码中取得,那就不必自己写代码了。要做的事情很多,没有时间去查。
各位站长还有什么好主意,欢迎交流。
 |
|