網路上尋找了一些可以讓網頁顯示時間的程式碼
但通常都是抓取使用者電腦的時間
我想要固定顯示台灣的時間,不知道該怎麼寫?
(我對於HTML基本上都還懂,但不會寫程式,稍微看得懂)
請問這樣的事情做得到嗎?該如何寫?
<pre class="c" name="code">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TEST</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
var initTS=<?php echo strtotime(date('Y-m-d H:i:s')); ?>;
var currentTS=initTS;
//先從PHP得到目前server的系統時間,server要用NTP CLOCK校時成台灣標準時間
var tmpTime = new Date();
tmpTime.setTime(currentTS);
$(document).ready(function() {
//setInterval( "displayServerTime()",1000);
});
function displayServerTime(){
currentTS++;
tmpTime.setTime(currentTS*1000);
$('#clock').html(tmpTime.toString());
}
</script>
<div id="clock">display time here</div>
<script type="text/javascript">
setInterval("displayServerTime()",1000);
</script>
</script>
我寫了一個簡單的DEMO...先從PHP(server端)輸出時間到網頁,然後再用Javascript(client端)每秒輸出加1後的時間...
DEMO URL:
http://www.web3d.url.tw/sClock/index.php
你可以改一下自己電腦的時間,再看一下上面的demo網頁~check一下
希望有幫助^^
harry安~
您有看過DEMO URL了嗎?(http://www.web3d.url.tw/sClock/index.php)
那是用上面的程式碼在Server上執行的結果,你把自己的電腦更改時間之後,再refrese應該是也不會有問題。我猜你是把自己的電腦上面跑PHP在作測試(這時它等於是Server),那當然不管你調到哪個時區都會一樣@_@ 第一個重點...用類似NTP CLOCK的軟體幫Server校時。第二個重點...Client端跟Server端要分清楚...
希望有幫助^^"
我是直接用您給我的網址做測試,開啟之後,我在Client端更改時間的時區,然後在同一個頁面Refrese,時間就變成跟我電腦的時間一樣...。
我已經有找到解答了
<pre class="c" name="code">
<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 SmallBeeWayn 的幫忙。
也謝謝 ccutmis 的幫忙,雖然還不知道問題出在哪。
提示一下
找出TIMEZONE 與台灣的+8比對一下就知道該加或該減了
再配合顯示電腦時間功能即可