2010-06-05 68 views
0

我正在創建一個使用圖像的數字時鐘& JavaScript,但我想傳遞一個服務器時間的時間......如何做到這一點...我從服務器獲取時間並將其傳遞給Date傳遞時間從服務器到客戶端

以下我給出了片段。

var time_str = document.clock_form.time_str.value ; //alert (time_str); 
function dotime(){ 
    theTime=setTimeout('dotime();',1000); 
    //d = new Date(Date.parse(time_str)); 
    d= new Date(time_str); 
    hr= d.getHours()+100; 
    mn= d.getMinutes()+100; 
    se= d.getSeconds()+100; var time_str = document.clock_form.time_str.value ; //alert (time_str); 
    alert(' TIME ---> '+hr+' :: '+mn+' :: '+ se); 

    if(hr==100){ 
     hr=112;am_pm='am'; 
    } 
    else if(hr<112){ 
     am_pm='am'; 
    } 
    else if(hr==112){ 
     am_pm='pm'; 
    } 
    else if(hr>112){ 
     am_pm='pm';hr=(hr-12); 
    } 
    tot=''+hr+mn+se; 
    document.hr1.src = '/flash_files/digits/dg'+tot.substring(1,2)+'.gif'; 
    document.hr2.src = '/flash_files/digits/dg'+tot.substring(2,3)+'.gif'; 
    document.mn1.src = '/flash_files/digits/dg'+tot.substring(4,5)+'.gif'; 
    document.mn2.src = '/flash_files/digits/dg'+tot.substring(5,6)+'.gif'; 
    document.se1.src = '/flash_files/digits/dg'+tot.substring(7,8)+'.gif'; 
    document.se2.src = '/flash_files/digits/dg'+tot.substring(8,9)+'.gif'; 
    document.ampm.src= '/flash_files/digits/dg'+am_pm+'.gif'; 
} 
dotime(); 

但它不工作

幫我出

在此先感謝。

+2

「但它不工作」:你能解釋什麼是不工作?你有錯誤嗎?什麼是錯誤?你的調試警報是否顯示?他們展示什麼? – 2010-06-05 08:56:18

+0

'document.clock_form.time_str.value'中的值是什麼樣的? – 2010-06-05 08:56:46

+0

定義「不工作」。任何錯誤? time_str是JavaScript分析格式嗎? – 2010-06-05 08:58:01

回答

1

你從服務器傳遞什麼?它是Unix時間戳還是一個正式日期?

如果你傳遞一個Unix時間戳,然後在JavaScript中,你會做這樣的事情:

var date = new Date(timestamp * 1000);

你必須通過1000乘以它,因爲Unix時間戳是指過去的數自1970年1月1日00:00:00以來,而JavaScript Date構造函數預計自1970年1月1日00:00:00以來的毫秒的數目。

如果你傳遞一個格式化的日期字符串,你可以在JavaScript中這樣分析它:

var date = Date.parse(formated_date);

的日期應該是這可能是像由RFC 1123中描述在PHP中的格式這:

<?php 
$js_date = date(DATE_RFC1123);
+0

+1來定義所有這些局部變量,我打算提出這個建議,但是正在等待來自OP的更多信息。 – 2010-06-05 09:19:54

+0

我是perl用戶,我以這種格式獲得時間(RFC1123),例如 「Fri,2010年6月4日17:46:14 +0530」因此,'time_str'的值將如示例中所示... 當您提醒它發生錯誤的時間 – user356135 2010-06-05 10:45:00

+0

我是perl用戶,&我越來越這種格式的時間(RFC1123)例如 「Fri,04 Jun 2010 17:46:14 +0530」因此,'time_str'的值將如示例中所示... 當您提醒時間錯誤 – user356135 2010-06-05 10:46:12

相關問題