间隔秒数:
(date1-date2)*24*60*60

解决方案 »

  1.   

    jiezhi(西域浪子) 
    不能这样得到吧?date1-date2 得到的是天数,我要做 30 分钟就自动掉线,结果将肯定是 0 啊 lastime 是用户最后活动时间,也是取得 sysdate
      

  2.   

    0>30肯定是6永远为false了。
    你是在程序中不停的检测吗?
    一旦检测到有用户的最后活动时间和当前时间相隔30分钟就断线是吗?
      

  3.   

    我是这样做的:
    我把上面的那个SQL语句放在首页,只要有页面刷新,就会对online表进行检测,删除掉线的用户,当然,若没有人对首页进行刷新就不会进行此操作了。每个用户的最后活动时间好得到啊,他每刷新一次首页,就判断该用户是否登陆,是否掉线,若不掉线,就把sysdate给lastime,若判断掉线,就删除online表里的相应的记录。这样得到的最后活动时间应该没有问题吧?问题是,在30分钟内,lastime和sysdate的天数是一样的啊,减出来的结果如何得到他们之间相隔的秒数?
      

  4.   

    你写反了吧
    lastime-sysdate 肯定是小于零的
    sql="Delete FROM online WHERE (sysdate-lastime)*24*60 > 30";
      

  5.   

    greatplain(蓝屏) sql="Delete FROM online WHERE (sysdate-lastime)*24*60 > 30";
    你的这句也有问题的,sysdate-lastime 是等于零的,除非他发呆超过一天 。。可是我要求发呆 30 分钟就删除 online 表里的相应记录啊,再帮我想想吧,是不是还有别的方法得到两个sysdate之间的间隔秒数,鞠躬 ~~~~~~~
      

  6.   

    楼上,注意:sysdate-lastime如果是逻辑上没问题,是不会等于零的,是个以天为单位的小数
      

  7.   

    也就是说 sysdate-lastime 不会等于零了?好好,我去试试,先谢啦 。