在网页上显示时间如果取的是用户本机的时间由于用户的时间往往不准确所以显示的有问题而服务器时间一般不会误差太大所以最好显示服务器时间
下面以asp+js为例说明
下面分析代码结构先是获取服务器时间
<%
d=Date()
t=Time()
%>
var t=new Date()getTime();
var nyear=<%=Year(d)%>;
var nmonth=<%=Month(d)%>;
var nday=<%=Day(d)%>;
var nwday=<%=WeekDay(d)%>;
var nhrs=<%=Hour(t)%>;
var nmin=<%=Minute(t)%>;
var nsec=<%=Second(t)%>;
//获得本机时间和服务器时间之差
var dectime=new Date(nyearnmonthndaynhrsnminnsec)getTime()t;
nday=;
//用于显示时间的span
documentwrite("<span id="clock" style="wordbreak:keepall"></span>");
//时间计算函数
function NewTick(){
var noww=new Date();
var t=nowwgetTime();
nowwsetTime(t+dectime);
if(nowwgetDate()!=nday){
nyear=nowwgetFullYear();nmonth=nowwgetMonth()+;nwday=nowwgetDay();nday=nowwgetDate();
}
nhrs=nowwgetHours();nmin=nowwgetMinutes();nsec=nowwgetSeconds();
}
//时间显示函数
function Draw(){
NewTick(); //先计算
var s=nyear+年+nmonth+月+nday+日 +星期+cweekday(nwday)+ +shapetime(nhrsnminnsec);
s+=" 农历"+lmonth+"月"+lday;//显示农历
documentgetElementById("clock")innerHTML=s;
//每隔毫秒重新获取一下本机时间
setTimeout("Draw()");
}
//开始显示
Draw();
其他问题
服务器获取的时间不能在本地缓存所以要在代码中加入缓存控制函数
还要防止其他网站盗链你的服务器时间代码所以要加入防盗链函数
如果需要显示农历还需要加入农历运算函数