【问题标题】:To get Server's date and time to client machine获取服务器的日期和时间到客户端机器
【发布时间】:2014-10-28 05:07:23
【问题描述】:

我有 4-5 台客户端机器和一台服务器。我想要服务器的日期和时间,而不是客户端的日期和时间。如果我需要客户的日期和时间,我可以在 c# 中使用 DateTime.Now,在 jQuery 中使用 var date= new Date()。但我不想要这个。我想要服务器的日期和时间,它可能正在使用 jQuery 或 webservices 或 mvc。

【问题讨论】:

  • DateTime.Now 会返回服务器时间(代码毕竟是在服务器上运行的!)
  • 非常感谢您的评论...但是当我们采用 DateTime 时。现在我们得到了我们正在处理的当前系统的日期和时间。
  • 没错。由于 C# 代码在您的 Web 服务器上运行,因此它将返回服务器的当前 DateTime。
  • 你不能用 获得客户DateTime,我本可以在 c# 中使用DateTime.Now。 Web 浏览器没有 C# 代码的概念
  • 提前谢谢您。如果假设我想在我的网络服务器之外获取日期和时间。我该怎么做?

标签: jquery asp.net asp.net-mvc-4


【解决方案1】:

只有将页面渲染到服务器时才能获取到服务器的时间。您可以将其设置在 javascript 变量中,如下所示:

<script type="text/javascript">
    var serverTime = '<%=DateTime.Now%>';
    alert(serverTime);
</script>

这将返回一个字符串。您需要做更多工作才能将其转换为日期时间。

如果您需要在没有回发的情况下获取服务器时间,则需要调用 Web 服务来获取时间。

【讨论】:

    【解决方案2】:
    string URL = "http://www.google.com";    
    System.Net.HttpWebRequest rq2 = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(URL);
    System.Net.HttpWebResponse res2 = (System.Net.HttpWebResponse)rq2.GetResponse();
    DateTime Date = DateTime.Parse(res2.Headers["Date"]); 
    

    现在,您可以在 DateTime 变量中获取服务器端日期和时间

    【讨论】:

    • 这段代码是否给了我“google.com”服务器的日期和时间?
    【解决方案3】:

    您可以通过ajax调用获取服务器日期和时间,即:

    $(function(){
    
        $.ajax({
            url: "datetimereturn",
            type: "post",
            success: function (result) {
                alert("date time : " + result)
            }
        });
    
    });
    

    在服务器上:

    public string datetimereturn(){
         return DateTime.Now.ToString();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-19
      • 2013-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-16
      • 2015-07-20
      • 2020-05-26
      相关资源
      最近更新 更多