如何在网页中显示服务器时间(asp)_ASP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:谈BOF或EOF有一个是真,或者当前记录已被删除
在调试“学生管理系统”时,想修改学籍信息,如果此时数据库中的数据已被完全删除则会出现“BoF或Eof有一个是真,或当前记录已被删除的错误”我们这时要做的就是在使用Recordset对象的moveNext等方法之前先利用RecordsetCount属性判断一下数据库中的数据是否

 在网页上显示时间,如果取的是用户本机的时间,由于用户的时间往往不准确,所以显示的有问题。而服务器时间一般不会误差太大,所以最好显示服务器时间

下面以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();

 

其他问题:

服务器获取的时间不能在本地缓存,所以要在代码中加入缓存控制函数;
还要防止其他网站盗链你的服务器时间代码,所以要加入防盗链函数。
如果需要显示农历,还需要加入农历运算函数。

分享:揭秘2种解决ASP运行出现脚本超时的办法
运行ASP时遇到脚本超时问题,提示信息为:“ActiveServerPages错误‘ASP0113脚本超时’”。 解决办法 :修改两处: 第一处:打开IIS--本地计算机,点网站,右键---属性--主目录--配置--选项---ASP脚本超时时间,可以改为60-90秒或更高; 第二处: % session.

来源:模板无忧//所属分类:ASP教程/更新时间:2013-04-17
相关ASP教程