1

我想比较两个包含时间值的变量,但一个是在创建页面时产生的,另一个是从数据库中检索的。另外,我想创建一个计时器,该计时器在创建页面时启动,并在我们收到数据库时间时显示警报。

您建议在 jQuery 中执行这两项任务的解决方案是什么?

1) 如何使用 jQuery 获取数据库时间值?
2)如何创建一个在创建页面时启动的计时器?

4

1 回答 1

0

让我们做一些假设

  • 您的服务器端脚本语言是 php
  • 您的时间值是 Unix simestamp(自 1970 年 1 月 1 日以来的秒数)
  • jQuery 安装在页面上(您的问题被标记为 jQuery)。

首先,在合适的 HTML 容器中为您的页面提供数据库时间值:

<?php
//retrieve value from database here.
$dbTimeValue = ......;
?>

<body>
...
<input type="hidden" id="dbTimeValue" value="<?php echo $dbTimeValue ?>" />
...
</body>

然后,客户端,在 javascript 中:

$(function() {
    var dbTimeVal = Number( $("#dbTimeValue").val() ) * 1000;//Unix timestamp converted to milliseconds
    var timeNow = (new Date()).getTime();//time now (from client computer's motherboard) expressed in milliseconds since 1 Jan 1970
    var timeOut = setTimeout(function() {
        alert("Time now is later than database time");
    }, timeNow - dbTimeVal);
});

注意:数据库时间值可以直接提供到 javascript 中,var dbTimeVal = <?php echo $dbTimeValue ?>;但这对于菜鸟来说可能更令人困惑。

于 2012-04-14T11:50:16.680 回答