public int CollectOnlineTime() { int onlineTime = CurrentOnlineTimeSecs; CurrentOnlineTimeSecs = 0; // 首次收集 if (LastCollectTime < LoginTime) { LastCollectTime = LoginTime; } if (LogoffTime < LoginTime) { // 用户在线 onlineTime += (int)DateTime.Now.Subtract(LastCollectTime).TotalSeconds; LastCollectTime = DateTime.Now; } else { // 用户已经离线 onlineTime += (int)LogoffTime.Subtract(LastCollectTime).TotalSeconds; LastCollectTime = LogoffTime; } return(onlineTime); }
/// <summary> /// 设置为登录 /// </summary> /// <returns>如果为再次登录,则返回上次的在线时长(秒);否则为0</returns> public void SetLogin() { if (LogoffTime > LastCollectTime) { CurrentOnlineTimeSecs += (int)LogoffTime.Subtract(LastCollectTime).TotalSeconds; } LoginTime = DateTime.Now; LastCollectTime = DateTime.Now; LogoffTime = _MinTime; }
/// <summary> /// 设置为登出 /// </summary> /// <returns>返回本次在线时长</returns> public int SetLogoff_Discard() { int onlinePlus = 0; if (LogoffTime < LoginTime) { LogoffTime = DateTime.Now; } onlinePlus = (int)LogoffTime.Subtract(LoginTime).TotalSeconds; return(onlinePlus); }
/// <summary> /// 设置为登录 /// </summary> /// <returns>如果为再次登录,则返回上次的在线时长(秒);否则为0</returns> private int SetLogin_Discard() { int onlinePlus = 0; if (LogoffTime >= LoginTime) { onlinePlus = (int)LogoffTime.Subtract(LoginTime).TotalSeconds; } LoginTime = DateTime.Now; LogoffTime = _MinTime; SocketOpen = true; return(onlinePlus); }