我正在尝试研究如何在JavaScript中执行以下操作:
if(strtotime($row['last_active']) < (time() -(30))) {
//update...
}
$row['last_active']
拥有MySQL的时间日期。
有什么想法吗?
答案 0 :(得分:1)
使用库:
var then = new XDate('<?=$row['last_active']?>');
var now = new XDate();
days_between = now.diffDays(then);
你也可以在查询......
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))
答案 1 :(得分:1)
你不需要用外部JS lib来打扰你,我会这样做:
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...
}
答案 2 :(得分:0)
您可以将$row['last_active']
存储在javascript变量中,并且您可以使用javascript当前时间变量date = new Date();
但请注意,javascript日期变量为您提供客户端机器时间而非服务器时间。