如何在Jquery中检查当前日期和时间

时间:2009-08-11 07:05:27

标签: jquery date time

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

3 个答案:

答案 0 :(得分:21)

在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属性。

答案 1 :(得分:6)

从客户端计算机获取当前日期和时间并非上帝的做法。

将此检查作为服务器端。

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

答案 2 :(得分:2)

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

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

    var currentTimeAndDate = new Date();

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

  3. 更新:

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

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

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