没什么几种不几种,关键就在原理。
你要什么效果?没有猜错的话,你要的是时间一秒一秒跳动的?
Date()就能得到一个时间对象,当然,JS是客户端的,你直接Date()得到的也是客户端的时间。也就是说,你把你的电脑时间调成1970-7-7 12:01:35,他显示的就是这个时间。如果你要服务器端的时间,可以用服务器端语言把时间当成字符串写到js的一个变量里。比如,PHP用 var t=new Date('=date('Y');?>','=date('m')-1;?>','=date('j');?>','=date('G');?>','=date('i');?>','=date('s');?>');
这样JS里就有一个t的时间了。你再document.write(t)就可以看到服务器端的时间了。
如果你要一秒一秒跳动的,就需要一个一秒钟改变一次的函数,我随便写了个:
function timer(){
t=new Date(t.getTime()+1000);
document.getElementById("time").innerHTML=t.toLocaleString();
}
然后你每秒调用一次
setInterval(timer,1000);
这样系统就会自动每秒自动往上加了。。
JS时间,要注意两点:
1、ie和firefox在处理时间函数时,有一些区别,要兼容两种浏览器的话一定要注意
2、使用JS的一些函数,可以免去你算时间的一些麻烦。如果你想自己去把时间一秒一秒加,就会很麻烦,比如,60进制,润年,2月的天数等等。。但是用t=new Date(t.getTime()+1000)还有t.toLocaleString(),你就不需要管这么多了,而且完全准确的。
只要读一次服务器时间就可以了,每秒在时间上加一,与服务器时间基本会一致。
////倒影时钟