javascript實(shí)現(xiàn)獲取服務(wù)器時(shí)間
JS是在客戶端運(yùn)行的腳本,而不是運(yùn)行在服務(wù)器上,通常來說,通過JS獲取時(shí)間的時(shí)候獲取到的時(shí)間是訪客本地電腦上的時(shí)間,為了讓網(wǎng)頁上的時(shí)間不因訪客電腦差異而不同,我們有必要直接JS獲取服務(wù)器時(shí)間。
下面是完整的js獲取服務(wù)器時(shí)間代碼,是使用javascript獲取服務(wù)器時(shí)間的完整實(shí)例,js動(dòng)態(tài)刷新服務(wù)器時(shí)間。
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>AJAX獲取服務(wù)器時(shí)間</title> <script type="text/javascript"> /* * ajax 函數(shù),處理 ajax 請求 * @param function callback 回調(diào)函數(shù) * @因?yàn)橐头?wù)器交互,所以必須在服務(wù)器環(huán)境運(yùn)行,不能在硬盤上直接打開 */ function ajax(callback){ if(typeof callback!='function') return; var ajaxObject; try{ ajaxObject=new XMLHttpRequest(); }catch(e){ try{ ajaxObject=new ActiveXObject('Microsoft.XMLHTTP'); }catch(e){ } } if(!ajaxObject) return; if(ajaxObject.overrideMimeType){ ajaxObject.overrideMimeType('text/html'); } //location.href可以換成其他url,但必須是同一個(gè)站點(diǎn)的鏈接,并且文件存在 ajaxObject.open('get',location.href); ajaxObject.send(null); ajaxObject.onreadystatechange=function(){ if(ajaxObject.readyState==4){ if(ajaxObject.status==200){ callback(ajaxObject); } } }; } /* * 獲取時(shí)間并動(dòng)態(tài)刷新 */ function getTime(){ ajax( function(ao){ //只需要AJAX一次,將服務(wù)器時(shí)間獲取后以毫米為單位保存到一個(gè)變量中 _timestamp=Date.parse(ao.getResponseHeader('Date')); _timestamp=_timestamp.toString().match(/^\d$/)?_timestamp:new Date().getTime(); //設(shè)置定時(shí)器每過一秒動(dòng)態(tài)刷新一次時(shí)間 setInterval( function(){ //這里可以自定義時(shí)間顯示格式 document.getElementById('_timer').innerHTML=new Date(_timestamp).toLocaleString(); _timestamp+=1000; }, 1000 ); } ); } window.onload=getTime; </script> </head> <body> <div id="_timer">正在獲取服務(wù)器時(shí)間……</div> </body> </html>
思路分析:
服務(wù)器端時(shí)間這個(gè)概念很模糊。因?yàn)榉?wù)器端畢竟可能不是由一臺(tái)機(jī)器組成的。最簡單的情況,也分web服務(wù)器和db服務(wù)器。你說的究竟是哪一種
如果是web服務(wù)器。
那么直接在java或者.net那頭new Date()就ok了
不要在網(wǎng)頁中的<script>里面new Date,那個(gè)只是客戶端時(shí)間
如果是db服務(wù)器。
需要連接到數(shù)據(jù)庫,通過sql來取得。比如oracle的就是select sysdate from dual。
示例:
如果js要取得這樣的服務(wù)器端時(shí)間,方法有很多。思路大體差不多。
1.
<script type="text/javascript">
var date = <%=date(剛才在服務(wù)器端取得的時(shí)間,內(nèi)容取得方法上面分析過了)%>
</script>
2.<script type="text/javascript" src=".../ScriptServlet"></script>
將Servlet的返回流中寫入一個(gè)js文件,使其當(dāng)中的var nowDate = 服務(wù)器端時(shí)間
3.ajax,這個(gè)就不說了,網(wǎng)上一大堆
以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。
- javascript同步服務(wù)器時(shí)間和同步倒計(jì)時(shí)小技巧
- Javascript實(shí)現(xiàn)商品秒殺倒計(jì)時(shí)(時(shí)間與服務(wù)器時(shí)間同步)
- jsp頁面獲取服務(wù)器時(shí)間的簡單調(diào)用示例
- JSP獲取服務(wù)器時(shí)間以倒計(jì)時(shí)的形式在頁面顯示
- 利用js獲取服務(wù)器時(shí)間的兩個(gè)簡單方法
- JavaScript獲取服務(wù)器端時(shí)間的方法
- js獲取當(dāng)前時(shí)間(昨天、今天、明天)
- js實(shí)現(xiàn)倒計(jì)時(shí)及時(shí)間對象
- js友好的時(shí)間返回函數(shù)
- JavaScript獲取服務(wù)器時(shí)間的方法詳解
相關(guān)文章
JavaScript實(shí)現(xiàn)審核流程狀態(tài)的動(dòng)態(tài)顯示進(jìn)度條
對于有很多流程的東西,我們希望能夠根據(jù)不同的階段,用流程條對應(yīng)地進(jìn)行顯示,非常直觀,給用戶帶來極好的用戶體驗(yàn),下面小編給大家分享JavaScript實(shí)現(xiàn)審核流程狀態(tài)的動(dòng)態(tài)顯示進(jìn)度條功能,需要的的朋友參考下2017-03-03javascript實(shí)現(xiàn)搜索篩選功能實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于javascript實(shí)現(xiàn)搜索篩選功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11利用JavaScript實(shí)現(xiàn)的10種排序算法總結(jié)
這篇文章主要介紹了利用JavaScript實(shí)現(xiàn)的十種排序算法,主要介紹了冒泡,選擇,插入,希爾,歸并,快速,堆排,計(jì)數(shù),桶排和基數(shù),有感興趣的小伙伴可以參考閱讀本文2023-05-05微信小程序 wx:for 與 wx:for-items 與 wx:key的正確用法
這篇文章主要介紹了微信小程序 wx:for 與 wx:for-items 與 wx:key的正確用法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-05-05js(JavaScript)實(shí)現(xiàn)TAB標(biāo)簽切換效果的簡單實(shí)例
本篇文章主要是對js(JavaScript)實(shí)現(xiàn)TAB標(biāo)簽切換效果的簡單實(shí)例進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-02-02Js 時(shí)間函數(shù)getYear()的使用問題探討
不推薦使用getYear()這個(gè)函數(shù),因?yàn)樵诨鸷酗@示是不正確的,所以推薦使用getFullYear() 函數(shù),接下來為大家詳細(xì)介紹下getYear函數(shù)在不同瀏覽下的使用問題2013-04-04微信小程序canvas.drawImage完全顯示圖片問題的解決
這篇文章主要介紹了微信小程序canvas.drawImage完全顯示圖片問題的解決,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11javascript通過獲取html標(biāo)簽屬性class實(shí)現(xiàn)多選項(xiàng)卡的方法
這篇文章主要介紹了javascript通過獲取html標(biāo)簽屬性class實(shí)現(xiàn)多選項(xiàng)卡的方法,涉及javascript針對頁面元素屬性與事件的相關(guān)操作技巧,需要的朋友可以參考下2015-07-07