[解决办法] 呵,分别记录用户登陆时间,然后用服务器时间减去当前时间 用daysafter先取得天数,再用secondsafter取得时间相差秒数, 用24 * 天数 + 秒数 /60就是想要的小时数 [解决办法] 定义一个函数of_relativedatetime(datetime adtm_start,long al_offset)returns datetime datetime ldtm_null date ld_sdate time lt_stime long ll_date_adjust long ll_time_adjust,ll_time_test if isnull(adtm_start) or isnull(al_offset) then setnull(ldtm_null) return ldtm_null end if if not of_isvalid(adtm_start) then return ldtm_null end if ld_sdate=date(adtm_start) lt_stime=time(adtm_start) ll_date_adjust=al_offset/86400 ll_time_adjust=mod(al_offset,86400)
ld_sdate=relativedate(ld_sdate,ll_date_adjust)
if ll_time_adjust>0 then ll_time_test=secondsafter(lt_stime,time('23:59:59')) if ll_time_test>ll_time_adjust then ld_sdate=relativedate(ld_sdate,1) ll_time_adjust=ll_time_adjust - ll_time_test - 1 lt_stime=time('00:00:00') end if lt_stime=relativetime(lt_stime,ll_time_test) elseif ll_time_adjust<0 then ll_time_test=secondsafter(lt_stime,time('00:00:00')) if ll_time_test>ll_time_adjust then ld_sdate=relativedate(ld_sdate, -1) ll_time_adjust=ll_time_adjust - ll_time_test +1 lt_stime=time('23:59:59') end if lt_stime=relativetime(lt_stime,ll_time_test) end if return datetime(ld_sdate,lt_stime)