只是想知道是否有办法检查Jquery中的当前日期和时间。
答案 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)
澄清到目前为止提供的答案......
获取当前日期不是使用jquery所必需的(即使它有能力这样做),因为原始javascript提供了这种功能。
var currentTimeAndDate = new Date();
除了极少数例外,您应该避免从客户端计算机获取当前时间/日期,因为您无法知道他们的时钟是否设置正确。始终从服务器获取时间日期,以提供一定程度的可预测性。然而,这也不是万无一失的,因为客户可能真的比服务器提前一天或后面一天,所以你必须决定如何以适合你的应用的方式处理这种情况。
更新:
还需要区分静态和动态获取日期/时间。
静态地是服务器直接将时间/日期呈现到页面中 - 例如,您可能想要“此页面是在1962年7月24日格林威治标准时间12:34生成的”(这将是一个巧妙的技巧,考虑到1962年不存在Web服务器)。
动态是指客户端页面通过使用AJAX调用主动更新时间显示以询问服务器的时间 - 这是@CMS提供的响应中描述的方法