Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery比较服务器时间和当前时间_Javascript_Jquery_Vbscript - Fatal编程技术网

Javascript 使用jQuery比较服务器时间和当前时间

Javascript 使用jQuery比较服务器时间和当前时间,javascript,jquery,vbscript,Javascript,Jquery,Vbscript,我正在尝试将VBScript转换为Javascript,使用jQuery比较服务器时间和当前时间 If Not IsDate(frmLogDetail.hidServerTime.value) Then frmLogDetail.hidServerTime.value = Now End If frmLogDetail.hidTimeOffset.value = DateDiff("s", Time, TimeValue(frmLogDetail.hidServerTime.value) )

我正在尝试将VBScript转换为Javascript,使用jQuery比较服务器时间和当前时间

If Not IsDate(frmLogDetail.hidServerTime.value) Then
frmLogDetail.hidServerTime.value = Now
End If
frmLogDetail.hidTimeOffset.value = DateDiff("s", Time, TimeValue(frmLogDetail.hidServerTime.value) )
这就是我所拥有的:

var hdServerTime = $("#hidServerTime");

if (!IsDate(hdServerTime)) {
   hdServerTime.val(new Date());
   alert(hdServerTime.val());
}

var dateSelected = $("#hidServerTime").val();
var hdTimeOffset = $("#hidTimeOffset").val();
hdTimeOffset = DateDiff(Date.now, new Date(dateSelected));

function DateDiff(first, second) {
            return (second - first) / (1000 * 60 * 60 * 24)
        }

JavaScript是一种客户端脚本语言,因此,除非您支持服务器端脚本(如PHP),否则您将无法访问服务器端脚本。Date.now将为您提供自1970年1月1日00:00:00 UTC以来的客户端时间(毫秒)

我发现你的代码很混乱,我想你正在做一个PHP实现?隐藏div/span?所以我将用我将要做的来回答

获取服务器端时间的一种方法是使用PHP为页面提供服务,并在实际运行Javascript客户端之前在Javascript中全局定义变量。您可以在页面的标记中执行以下操作:

<?php 
    echo "<script type='text/javascript'> 
         var servertime = ".time()."; 
         </script>" 
?>
这个实现很好,因为你根本不需要jQuery,你也不需要在页面上隐藏元素来处理一些SEO问题

var hdTimeOffset = $("#hidTimeOffset").val();
hdTimeOffset = …;
这不是使用jQuery分配值的方式。这段代码只分配给变量hdTimeOffset,它不是DOM的神奇引用。相反,使用

var hdTimeOffset = …;
$("#hidTimeOffset").val(hdTimeOffset);

请参见

jQuery并不是万能的。你需要做一些思考。检查一下,你可能想调用Date.now,而不是将其作为函数传递
var hdTimeOffset = …;
$("#hidTimeOffset").val(hdTimeOffset);