1.下面这个只能精确到秒
time_t timer;
time(&timer);
tm* t_tm = localtime(&timer);
int temp_year = t_tm->tm_year + 1900 ;
m_year = FromIntToString (temp_year) ;
int temp_month = t_tm->tm_mon + 1 ;
m_month = FromIntToString (temp_month) ;
int temp_day = t_tm->tm_mday ;
m_day = FromIntToString (temp_day) ;
int temp_hour = t_tm->tm_hour ;
m_hour = FromIntToString (temp_hour) ;
int temp_minute = t_tm->tm_min ;
m_minute = FromIntToString (temp_minute) ;
int temp_second = t_tm->tm_sec ;
m_second = FromIntToString (temp_second) ;
下面有一个关于计算两个时间点的间隔时间的函数,以秒为单位:
BOOL CNode::LargeEqualReconnectInterval()
{
int TimeInterval = CConfig::GetInstance()->GetRedisReconnectTime() ;
time_t timenow = time(NULL) ;
if (difftime(timenow, lastconnecttime))
{
return TRUE ;
}
else
{
return FALSE ;
}
}
2.GetTickCount () 获取从操作系统启动到现在经历的时间
3.
_ftime_s, _ftime32_s, _ftime64_s可以精确到毫秒。
详情见:
http://msdn.microsoft.com/zh-cn/library/95e68951(v=VS.80)
4.SYSTEMTIME systime;
GetLocalTime(&systime);也可以获取时间。