timeval.cpp

来自「天之炼狱1服务器端源文件游戏服务端不完整」· C++ 代码 · 共 130 行

CPP
130
字号
////////////////////////////////////////////////////////////////////////// Filename    : Timeval.cpp// Written By  : Reiot// Description : struct timeval 俊 包访等 operator 甸阑 葛酒初篮 颇老////////////////////////////////////////////////////////////////////////// include files#include "Timeval.h"#include "stdlib.h"#include "StringStream.h"//--------------------------------------------------------------------------------//--------------------------------------------------------------------------------bool operator > ( const Timeval & left , const Timeval & right ){	return left.tv_sec > right.tv_sec || 		( left.tv_sec == right.tv_sec && left.tv_usec > right.tv_usec );}//--------------------------------------------------------------------------------//--------------------------------------------------------------------------------bool operator >= ( const Timeval & left , const Timeval & right ){	return left.tv_sec > right.tv_sec || 		( left.tv_sec == right.tv_sec && left.tv_usec > right.tv_usec ) ||		( left.tv_sec == right.tv_sec && left.tv_usec == right.tv_usec );}//--------------------------------------------------------------------------------//--------------------------------------------------------------------------------bool operator == ( const Timeval & left , const Timeval & right ){	return left.tv_sec == right.tv_sec && left.tv_usec == right.tv_usec;}//--------------------------------------------------------------------------------//--------------------------------------------------------------------------------bool operator <= ( const Timeval & left , const Timeval & right ){	return left.tv_sec < right.tv_sec || 		( left.tv_sec == right.tv_sec && left.tv_usec < right.tv_usec ) ||		( left.tv_sec == right.tv_sec && left.tv_usec == right.tv_usec );}//--------------------------------------------------------------------------------//--------------------------------------------------------------------------------bool operator < ( const Timeval & left , const Timeval & right ){	return left.tv_sec < right.tv_sec || 		( left.tv_sec == right.tv_sec && left.tv_usec < right.tv_usec );}//--------------------------------------------------------------------------------// timediff狼 搬苞蔼尝府 歹且 版快俊 荤侩茄促.// (荤角 泅犁 矫埃尝府 歹茄促绰 巴篮 快胶款 窿捞促. - -; )//--------------------------------------------------------------------------------Timeval operator + ( const Timeval & left , const Timeval & right ){	Timeval result;	result.tv_sec  = left.tv_sec  + right.tv_sec;	result.tv_usec = left.tv_usec + right.tv_usec;	if ( result.tv_usec > 1000000 ) {		result.tv_sec ++;		result.tv_usec -= 1000000;	}	return result;}//--------------------------------------------------------------------------------// 滴 Timeval 埃狼 矫埃瞒甫 备茄促. //--------------------------------------------------------------------------------Timeval timediff ( const Timeval & left , const Timeval & right ){	Timeval result; 	if ( left.tv_sec > right.tv_sec ) {		result.tv_sec  = left.tv_sec  - right.tv_sec;		result.tv_usec = left.tv_usec - right.tv_usec;		if ( result.tv_usec < 0 ) {			result.tv_sec --;			result.tv_usec = 1000000 + result.tv_usec;		}	} else if ( left.tv_sec == right.tv_sec ) {		result.tv_sec = 0;		result.tv_usec = left.tv_usec - right.tv_usec;		if ( result.tv_usec < 0 ) {			result.tv_usec = - result.tv_usec;		}	} else {	// left.tv_sec < right.tv_sec		result.tv_sec  = right.tv_sec  - left.tv_sec;		result.tv_usec = right.tv_usec - left.tv_usec;		if ( result.tv_usec < 0 ) {			result.tv_sec --;			result.tv_usec = 1000000 + result.tv_usec;		}	}    return result;}void getCurrentYearTime ( unsigned long int & currentYearTime ){	time_t daytime = time(0);	tm Timem;	localtime_r( &daytime, &Timem );//	tm * Timem = localtime( &daytime );	StringStream stime;	stime << Timem.tm_year << Timem.tm_mon << Timem.tm_mday;	currentYearTime = atoi(stime.toString().c_str());}Timeval gCurrentTime = Timeval();

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?