从服务器到客户端的时间

时间:2010-06-05 08:52:51

标签: javascript

我正在创建一个使用图像和数字时钟的数字时钟。 javascript,但我想通过服务器时间那个时间......怎么做...我从服务器获取时间并将其传递给日期

我已经给了片段。

    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();

但它不起作用

帮帮我

提前致谢。

1 个答案:

答案 0 :(得分: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);