Re: [問題] 網頁顯示台灣時間後如何隨時間走動?

看板Web_Design作者 (喵喵叫的蜜蜂貓)時間15年前 (2011/05/13 15:45), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《binggo (☆Bevis♂)》之銘言: : ※ 引述《binggo (☆Bevis♂)》之銘言: : : 網路上尋找了一些可以讓網頁顯示時間的程式碼 : : 但通常都是抓取使用者電腦的時間 : : 我想要固定顯示台灣的時間,不知道該怎麼寫? : : (我對於HTML基本上都還懂,但不會寫程式,稍微看得懂) : : 請問這樣的事情做得到嗎?該如何寫? : 得知如何用PHP讓網頁固定顯示台灣時間,但發覺是屬於靜態的 : 希望能夠顯示時間後讓它隨著時間流動,在網路上找到以下程式碼可用 : <script> : d = new Date(); : d.setTime(<?php echo time()*1000; ?>); : function time_callback() : { : document.getElementById( "time").innerHTML = d.toLocaleString(); : d.setTime(d.getTime()+1000); : } : setInterval( "time_callback()",1000); 這種觸發fuction只能當作更新頻率,不能當作計時器來用 因為每次呼叫的真實時間間隔可能會有相當的誤差 : </script> : <span id= 'time'></span> : 但這還是有個問題,這只有"秒數"是抓取格林威治的標準時間 : 而"小時"卻是抓取本地電腦的時區,所以在不同時區的電腦就會不一樣 : 發現是因為d.toLocaleString()的原因,找了好多資訊不知道該怎改… : 請問該如何改?或是整個要換掉? 下面這個程式碼用的是伺服器的基準時間,搭配客戶端的計時器 雖然如果客戶端的時間計算晶片誤差太大可能有問題 不過一般電腦這誤差不會超過一天5秒還OK 真要解決的話,就要定時(大概15~60分鐘一次)去跟伺服器對時 <script type="text/javascript"> var dc=new Date(),ds=new Date(),dg=8*3600; ds.setTime((<?php echo time(); ?>+dg)*1000); function time_callback(){ var dn=new Date(); ds.setTime(ds.getTime()+dn.getTime()-dc.getTime()); dc.setTime(dn.getTime()); document.getElementById("time").innerHTML=ds.toUTCString()+"+0800"; } setInterval("time_callback()",1000); </script><span id='time'></span> 如果要換時區的話,就去改"dg"的值 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.180.163

05/16 16:08, , 1F
完全符合我想要的~真是太感協您的協助^^
05/16 16:08, 1F
文章代碼(AID): #1DpE6LAz (Web_Design)
文章代碼(AID): #1DpE6LAz (Web_Design)