0

我正在尝试研究如何在 JavaScript 中执行以下操作:

if(strtotime($row['last_active']) < (time() -(30))) { 
            //update...
        }

$row['last_active']保存来自 MySQL 的时间日期。

有任何想法吗?

4

3 回答 3

1

你不需要用外部 JS 库来打扰你,我会这样做:

PHP

<?php 
    $date = strtotime($row['last_active']);
?>

JS

//Number of milliseconds since midnight Jan 1, 1970
var serverDate = <?php echo (date('U',$date) * 1000); ?>

//Compare with current number of milliseconds (like above) - 30 seconds
if(serverDate < (new Date().getTime() - (30 * 1000)) { 
    //update...
}
于 2013-03-21T07:41:50.617 回答
1

使用库:

var then = new XDate('<?=$row['last_active']?>');
var now = new XDate();

days_between = now.diffDays(then); 

http://arshaw.com/xdate/

还有Moment.jsDate.js

您也可以在查询中...

SELECT last_active, DATEDIFF(CURDATE(), last_active) AS days_last_active

或者:

SELECT last_active, DATEDIFF(CURDATE(), last_active) > 30 AS is_inactive

DATEDIFF()可能也需要使用DATE()

DATEDIFF(CURDATE(), DATE(last_active))
于 2013-03-21T07:24:03.367 回答
0

您可以存储$row['last_active']在 javascript 变量中,对于时间,您可以使用 javascript 当前时间变量date = new Date();

但请注意,javascript 日期变量为您提供客户端机器时间而不是服务器时间。

于 2013-03-21T07:18:11.867 回答