2011年11月25日 星期五

JavaScript 取得趨近伺服器時間的方法 ( PHP 版 )

請於複製於 <body></body> 內,任一地方...


  這裡用的技巧就是第一次先將系統時間抓到以後, 使用 Java Script 來做一秒加一的動作, 因此只有一開始會去後端問時間, 再來就都是前端的事情,相當的省資源。

原作者是與 ASP.NET 結合,在此修改成為與 PHP 結合。

來源:demo小鋪(2010.01.30);網址: http://demo.tc/Post/588。@ 2011.11.25

補充說明:當此程式畫面執行過久而沒有更新的話,那麼...會出現誤差值
     我將該網頁放了一個早上誤差了2分鐘左右(時間變慢了) XD


↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓



目前時間<br /><br />
<!-- ===== 目前時間 ===== -->
<!--
這裡用的技巧就是第一次先將系統時間抓到以後,
使用 Java Script 來做一秒加一的動作,
因此只有一開始會去後端問時間,
再來就都是前端的事情,相當的省資源。
來源:http://demo.tc/Post/588 @ 2011.11.25
-->
<DIV id=NowTime></DIV>
<?
$DateTime_Now = gmdate("Y-m-d H:i:s"); //取回伺服器 GMT 標準時間
$DataTime_Begin = "1970-01-01 00:00:00"; //設定時間起始格式
$TimeSpan = (strtotime($DateTime_Now) - strtotime($DataTime_Begin)) * 1000; //取回目前伺服器時間和起始時間的毫秒差
?>
<SCRIPT Language="JavaScript">
var systemTime = parseInt('<?=$TimeSpan;?>');
function runTime() {
systemTime += 1000;
showTime(systemTime);
}
function showTime() {
var t = new Date(systemTime);
h = "0" + t.getHours();
m = "0" + t.getMinutes();
s = "0" + t.getSeconds();
h = h.substring(h.length - 2, h.length + 1);
m = m.substring(m.length - 2, m.length + 1);
s = s.substring(s.length - 2, s.length + 1);
document.getElementById("NowTime").innerHTML = h+"點"+m+"分"+s+"秒";
setTimeout("runTime()", 1000);
}
showTime();
</SCRIPT>
<!-- ===== 目前時間 ===== -->

沒有留言:

張貼留言