如何在javascript函数中使用DateTime.UtcNow来显示javascript时钟?

如何在javascript函数中使用DateTime.UtcNow来显示javascript时钟?,javascript,asp.net,clock,Javascript,Asp.net,Clock,有一个非常简单的javascript时钟,如下所示 <script> function startTime() { var today = new Date(); var h = today.getHours(); var m = today.getMinutes(); var s = today.getSeconds(); // add a zero in fro

有一个非常简单的javascript时钟,如下所示

        <script>
        function startTime() {
            var today = new Date();
        var h = today.getHours();
        var m = today.getMinutes();
        var s = today.getSeconds();
        // add a zero in front of numbers<10
        m = checkTime(m);
        s = checkTime(s);
        document.getElementById('clockSpan').innerHTML = h + ":" + m + ":" + s;
        t = setTimeout(function () { startTime() }, 500);
    }

    function checkTime(i) {
        if (i < 10) {
            i = "0" + i;
        }
        return i;
    }
</script>

函数startTime(){
var today=新日期();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();

//在数字前面加一个零因为您使用的是JavaScript,所以不可能使用任何预构建的方法从服务器获取数据,相反,如果您要从特定的服务器查找时间,则需要对PHP(或其他)进行某种形式的AJAX(可能是asp.net AJAX标记)调用脚本返回用于构建日期对象的时间。

由于您使用的是JavaScript,因此不可能使用任何预构建方法从服务器获取数据,相反,如果您要从特定服务器查找时间,则需要制作某种形式的AJAX(可能是asp.net AJAX标签上的juding)调用PHP(或其他)脚本返回可用于构造日期对象的时间。

您的代码字符串周围缺少分隔符,但这取决于浏览器理解的服务器生成的日期格式。相反,请计算自1970-01-01以来的毫秒数,并使用所需的
日期
构造函数作为一种价值:

var today = new Date(<%=(int)DateTime.UtcNow.Subtract(new DateTime(1970,1,1)).TotalMilliseconds%>);
var today=新日期();

但是,您必须重写代码以同时使用服务器日期和浏览器日期。您只能使用该代码获取页面加载的时间。每次运行该函数时,它都会显示相同的时间,因此您必须将服务器时间一次性输入变量,并在页面加载到浏览器后立即将浏览器时间输入变量,然后获取不同之处。以后您可以从浏览器时间计算服务器时间。

您的代码字符串周围缺少分隔符,但这取决于浏览器理解的服务器生成的日期格式。相反,请计算自1970-01-01以来的毫秒数,并使用
日期
构造函数t将其作为一个值:

var today = new Date(<%=(int)DateTime.UtcNow.Subtract(new DateTime(1970,1,1)).TotalMilliseconds%>);
var today=新日期();

但是,您必须重写代码以同时使用服务器日期和浏览器日期。您只能使用该代码获取页面加载的时间。每次运行该函数时,它都会显示相同的时间,因此您必须将服务器时间一次性输入变量,并在页面加载到浏览器后立即将浏览器时间输入变量,然后获取差异。从这一点上,您可以稍后从浏览器时间计算服务器时间。

如果他在意大利的IIS中十进制分隔符是
,会发生什么情况?是否正确传递
总毫秒数
(即
双精度
)?(我很确定不是,但是搜索
的文档总是很困难……它可能使用
ToString()
,对吗?)@xanatos:这就是为什么这个值被转换为
int
。我没有注意到…至少现在提问者会知道转换的原因。现在你的代码是完美的,至少在
2038-01-19
:-)(我会转换为
long
)如果他在意大利有他的IIS,那里的十进制分隔符是
,会发生什么?会不会正确地传递
总毫秒数(即
双精度
)呢?(我很确定不会,但搜索
的文档总是很困难…它可能使用
ToString()
,对吗?)@xanatos:这就是为什么这个值被转换为
int
。我没有注意到…至少现在提问者会知道转换的原因。现在你的代码是完美的,至少在
2038-01-19
:-)(我会转换为
long