本站首页 - 分类目录 - 本类文章
如何在网页中显示服务器时间

在网页上显示时间,如果取的是用户本机的时间,由于用户的时间往往不准确,所以显示的有问题。而服务器时间一般不会误差太大,所以最好显示服务器时间。下面以asp+js为例说明。具体代码可以到本站的网页时间代码下载。

下面分析代码结构,先是获取服务器时间:

<%
d=Date()
t=Time()
%>
var t0=new Date().getTime();
var nyear=<%=Year(d)%>;
var nmonth=<%=Month(d)%>;
var nday=<%=Day(d)%>;
var nwday=<%=WeekDay(d)%>-1;
var nhrs=<%=Hour(t)%>;
var nmin=<%=Minute(t)%>;
var nsec=<%=Second(t)%>;

//获得本机时间和服务器时间之差

var dectime=new Date(nyear,nmonth-1,nday,nhrs,nmin,nsec).getTime()-t0;
nday=-1;

//用于显示时间的span

document.write("<span id=\"clock\" style=\"word-break:keep-all\"></span>");

//时间计算函数:

function NewTick(){
var noww=new Date();
var t1=noww.getTime();
noww.setTime(t1+dectime);

if(noww.getDate()!=nday){
nyear=noww.getFullYear();nmonth=noww.getMonth()+1;nwday=noww.getDay();nday=noww.getDate();
}

nhrs=noww.getHours();nmin=noww.getMinutes();nsec=noww.getSeconds();
}

//时间显示函数:

function Draw(){
NewTick(); //先计算

var s=nyear+'年'+nmonth+'月'+nday+'日 '+'星期'+cweekday(nwday)+' '+shapetime(nhrs,nmin,nsec);
s+=" 农历"+lmonth+"月"+lday;//显示农历
document.getElementById("clock").innerHTML=s;

//每隔500毫秒重新获取一下本机时间:

setTimeout("Draw()",500);
}

//开始显示:

Draw();

其他问题:

服务器获取的时间不能在本地缓存,所以要在代码中加入缓存控制函数;

还要防止其他网站盗链你的服务器时间代码,所以要加入防盗链函数。

如果需要显示农历,还需要加入农历运算函数。

具体请下载代码自己看。



上一篇:javascript时间函数
下一篇:Wtl的使用