用户登录后如何显示计时器?

我想在用户登录后显示计时器是代码:

演示: 小提琴

function startTimer_session() { var today = new Date(); var h=today.getHours() - login.getHours(); var m=today.getMinutes() - login.getMinutes(); var s=today.getSeconds() - login.getSeconds(); // add a zero in front of numbers<10 h=checkTime(h); m=checkTime(m); s=checkTime(s); $('#user-timer').html(h+":"+m+":"+s); timer=setTimeout(function(){startTimer_session()},1000); } 

但它没有正确显示,为什么?

问题是today.getSeconds少于login.getSeconds。

您需要在完整日期进行减法,然后取出部件。

最小的变化是:

  var today = new Date(); var d = new Date(today - login); var h = d.getHours(); var m = d.getMinutes(); var s = d.getSeconds(); 

或者使用Satpal显示的日期格式