将javascript代码设置为使用服务器时间

set javascript code to use server time

本文关键字:服务器 时间 javascript 代码 设置      更新时间:2023-09-26

我有一个依赖于当前日期的网站,我使用javascript根据当天显示事件。我试图让它根据服务器的时间显示。

//monday code detection
var d = new Date();
var s = d.getDay();
var r = d.getHours();
if ((s > 1 || s == 0) && (r > 5 || s == 3 || s == 4 || s == 5 || s == 6 || s == 0)) {
  window.location = "missed/mon.html";
}

如果您只想要页面加载时的服务器日期时间,您可以这样声明和初始化d(将ASP插入JavaScript):

var d = new Date("<% =formatDateTime(now(),1) & " " & formatDateTime(now(),3) %>");

或者,如果服务器允许,您可以声明一个"jscript"脚本在服务器上运行,该脚本向ASP:公开一个jscript函数

<script language="jscript" type="text/jscript" runat="server">
    function getServerTime() { return new Date();  }
</script>
<script type="text/javascript">
    var d = new Date("<% =getServerTime() %>");
</script>

如果您希望它发生在像按钮点击这样的事件上,那么您可以考虑使用ajax调用来获取服务器日期时间。穆罕默德(以上评论)举了一个例子,下面是另一个:http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_suggest_asp.

服务器端ASP代码可以只返回与上述(<% =formatDateTime(now(),1) & " " & formatDateTime(now(),3) %>)相同的代码

我假设您的用户与服务器共享相同的时区,并且您不必进行任何时区偏移转换。

我希望这能有所帮助。顺致敬意,

这是我的作品:

<script language="jscript" type="text/jscript" runat="server">
    function getServerTime() { return new Date();  }
</script>
<script type="text/javascript">
    var d0 = new Date();
    document.write("<br/><br/>Browser: " + d0);
    var d1 = new Date("<% =formatDateTime(now(),1) & " " & formatDateTime(now(),3) %>");
    document.write("<br/><br/>Server 1: " + d1);
    var d2 = new Date("<% =getServerTime() %>");
    document.write("<br/><br/>Server 2: " + d2);
</script>
<%
response.write "<br/><br/>Server in ASP 1: " & getServerTime()
response.write "<br/><br/>Server in ASP 2: " & now()
%>