PHP到JavaScript - 时间已过

时间:2013-03-21 07:13:30

标签: javascript

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

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

$row['last_active']拥有MySQL的时间日期。

有什么想法吗?

3 个答案:

答案 0 :(得分: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))

答案 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日期变量为您提供客户端机器时间而非服务器时间。