【问题标题】:how to check for current date and time in Jquery如何在 Jquery 中检查当前日期和时间
【发布时间】:2010-11-18 12:45:13
【问题描述】:

只是想知道是否有办法在 Jquery 中检查当前日期和时间。

【问题讨论】:

    标签: jquery date time


    【解决方案1】:

    在 JavaScript 中,您可以使用 Date object 获取当前日期和时间;

    var now = new Date();
    

    这将获取本地客户端机器时间,如果您想进行时区调整或从服务器获取时间,请查看我对this question的回答。


    编辑:响应您的评论,您可以非常轻松地将服务器时间检索到客户端:

    time.php

    <? echo '{serverTime: new Date(' . time()*1000 .')}';?>
    

    创建一个简单的JSON 字符串,使用当前服务器time 初始化一个新的Date 对象,该值乘以1000,因为PHP 以秒为单位处理时间戳,而JavaScript 以毫秒为单位。

    在你的另一个上,你可以像这样获得服务器时间:

    $.getJSON('time.php', function (data) {
      alert(data.serverTime);
    });
    

    只需发出getJSON 请求以从time.php 中检索日期,并访问返回对象的serverTime 属性。

    【讨论】:

    • 是否可以使用php检查服务器端的日期并将其分配给一个变量,然后在Jquery中使用该变量?
    • 感谢您的回答,非常有帮助,只是想知道是否有办法检查一周中的某一天(即星期五)谢谢
    • 在 PHP 中查看 strtotime 函数 is.gd/2budP... 即:strtotime("next Friday")
    • 很抱歉问这个问题,但我很好奇..这是您从 time.php 获得的所谓 JSONP,还是只是纯 JSON?
    • @sharat87:它是一个普通的 JSON 响应。
    【解决方案2】:

    从客户端机器获取当前日期和时间并不是一个天经地义的做法。

    将此检查设为服务器端检查。

    您可以使用 jQuery 向页面发出 Ajax 请求,然后返回当前日期和时间。

    【讨论】:

    • 除非您知道您的用户时区(例如:他们已登录并在某个阶段提供),否则您的服务器时间不太可能是他们的本地时间。在这种情况下,使用用户浏览器提供的时间不是更好吗?
    【解决方案3】:

    澄清到目前为止提供的答案...

    1. 获取当前日期并不是使用 jquery 所必需的(即使它有能力这样做),因为原始 javascript 提供了这种功能。

      var currentTimeAndDate = new Date();

    2. 除了极少数例外,您应该避免从客户端计算机获取当前时间/日期,因为您无法知道他们的时钟是否设置正确。始终从服务器获取时间日期,以提供某种程度的可预测性。但是,这也不是万无一失的,因为客户端可能确实比服务器提前一天或落后一天,因此您必须决定如何以适合您的应用程序的方式处理这种情况。

    更新:

    还需要区分静态获取日期/时间和动态获取日期/时间。

    静态是服务器将时间/日期直接呈现到页面中的时间 - 例如,您可能想要“此页面是在 1962 年 7 月 24 日格林威治标准时间 12:34 生成的”(这将是一个巧妙的技巧,考虑到 Web 服务器在 1962 年不存在)。

    动态是当客户端页面通过使用 AJAX 调用向服务器询问当前时间来主动更新时间显示 - 这是 @CMS 提供的响应中描述的方法

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-30
      • 2014-07-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-19
      • 1970-01-01
      • 2019-05-03
      相关资源
      最近更新 更多