- 获取当前时间字符串(yyyy-mm-dd hh24:mi:ss)
int GetCurrentTimeString(char *str)
{
time_t tmp_time;
struct tm *tm1;
time(&tmp_time);
tm1=localtime((time_t *)&tmp_time);
#if 0
sprintf(str,"%04d年%02d月%02d日%02d时%02d分%02d秒",
tm1->tm_year+1900,
tm1->tm_mon+1,
tm1->tm_mday,
tm1->tm_hour,
tm1->tm_min,
tm1->tm_sec);
#else
sprintf (str, "%04d-%02d-%02d %02d:%02d:%02d",
tm1->tm_year + 1900,
tm1->tm_mon + 1,
tm1->tm_mday,
tm1->tm_hour,
tm1->tm_min,
tm1->tm_sec);
#endif
return 1;
}
int TimeComp(const timeval& a, const timeval& b)
{
assert(a.tv_sec >= 0);
assert(a.tv_usec >= 0);
assert(a.tv_usec < 1000000);
assert(b.tv_sec >= 0);
assert(b.tv_usec >= 0);
assert(b.tv_usec < 1000000);
if (a.tv_sec != b.tv_sec)
return a.tv_sec > b.tv_sec ? 1 : -1;
if (a.tv_usec != b.tv_usec)
return a.tv_usec > b.tv_usec ? 1 : -1;
return 0;
}
timeval TimeNow()
{
timeval tv;
#ifdef _WINDOWS64
struct _timeb timebuffer;
_ftime(&timebuffer);
tv.tv_sec = timebuffer.time;
tv.tv_usec = timebuffer.millitm * 1000;
#else
gettimeofday(&tv, 0);
#endif
return tv;
}