如何在網(wǎng)頁(yè)中顯示服務(wù)器時(shí)間
更新時(shí)間:2013年03月29日 00:00:33 作者:
在網(wǎng)頁(yè)上顯示時(shí)間,如果取的是用戶(hù)本機(jī)的時(shí)間,由于用戶(hù)的時(shí)間往往不準(zhǔn)確,所以顯示的有問(wèn)題。而服務(wù)器時(shí)間一般不會(huì)誤差太大,所以最好顯示服務(wù)器時(shí)間
下面以asp+js為例說(shuō)明。具體代碼可以到本站的網(wǎng)頁(yè)時(shí)間代碼下載。
下面分析代碼結(jié)構(gòu),先是獲取服務(wù)器時(shí)間:
復(fù)制代碼 代碼如下:
<%
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)%>;
//獲得本機(jī)時(shí)間和服務(wù)器時(shí)間之差
var dectime=new Date(nyear,nmonth-1,nday,nhrs,nmin,nsec).getTime()-t0;
nday=-1;
//用于顯示時(shí)間的span
document.write("<span id=\"clock\" style=\"word-break:keep-all\"></span>");
//時(shí)間計(jì)算函數(shù):
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();
}
//時(shí)間顯示函數(shù):
function Draw(){
NewTick(); //先計(jì)算
var s=nyear+'年'+nmonth+'月'+nday+'日 '+'星期'+cweekday(nwday)+' '+shapetime(nhrs,nmin,nsec);
s+=" 農(nóng)歷"+lmonth+"月"+lday;//顯示農(nóng)歷
document.getElementById("clock").innerHTML=s;
//每隔500毫秒重新獲取一下本機(jī)時(shí)間:
setTimeout("Draw()",500);
}
//開(kāi)始顯示:
Draw();
其他問(wèn)題:
服務(wù)器獲取的時(shí)間不能在本地緩存,所以要在代碼中加入緩存控制函數(shù);
還要防止其他網(wǎng)站盜鏈你的服務(wù)器時(shí)間代碼,所以要加入防盜鏈函數(shù)。
如果需要顯示農(nóng)歷,還需要加入農(nóng)歷運(yùn)算函數(shù)。
具體請(qǐng)下載代碼自己看。
相關(guān)文章
使用TeXLive2022和VSCode安裝配置步驟(LaTeX寫(xiě)論文)
這篇文章主要介紹了使用TeXLive2022和VSCode的安裝配置步驟,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07
TCP協(xié)議詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
本文描述了TCP協(xié)議,首先簡(jiǎn)單介紹了TCP完成了一些什么功能;介紹了TCP報(bào)文格式,以及典型報(bào)文的數(shù)據(jù)格式?,F(xiàn)在通過(guò)本文給大家詳細(xì)介紹,感興趣的的朋友一起看看吧2017-07-07
使用git?config?--global設(shè)置用戶(hù)名和郵件問(wèn)題
這篇文章主要介紹了使用git?config?--global設(shè)置用戶(hù)名和郵件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05
SonarQube實(shí)現(xiàn)自動(dòng)化代碼掃描的安裝及使用集成方式
Sonar是一個(gè)用于代碼質(zhì)量管理的開(kāi)源平臺(tái),通過(guò)插件機(jī)制,Sonar可與第三方工具進(jìn)行集成。將Sonar引入到代碼開(kāi)發(fā)的過(guò)程中,提供靜態(tài)源代碼安全掃描能力,這無(wú)疑是安全左移的一次很好的嘗試和探索2021-10-10
HTTP協(xié)議入門(mén)_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了HTTP協(xié)議入門(mén)的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07

