转载声明:本博客文章允许自由转载, 但转载需注明作者,出处
作者:denny ©
wqf363@hotmail.com 2005-10-3 21:47
出处:
www.huntmine.com
一) 时间单位
秒(second), 毫秒(ms), 微秒(
μs), 纳秒(ns), 它们之间是1000的进制。
1秒=1000000000纳秒(10亿分之一秒)
1秒=1000000微秒(百万分之一秒)
1秒=1000毫秒(千分之一秒)
1秒=1000000微秒(百万分之一秒)
1秒=1000毫秒(千分之一秒)
二) sleep的毫秒级
void sleepInMS(unsigned int a_sleepTime)
{
struct timeval l_tv;
l_tv.tv_sec = a_sleepTime/1000;
l_tv.tv_usec = a_sleepTime%1000*1000;
select(0, NULL, NULL, NULL, &l_tv);
}
{
struct timeval l_tv;
l_tv.tv_sec = a_sleepTime/1000;
l_tv.tv_usec = a_sleepTime%1000*1000;
select(0, NULL, NULL, NULL, &l_tv);
}
三) 获取到当前时间的毫秒级,微秒级
unsigned long long getUS();
unsigned long getMS();
unsigned long getMS();
unsigned long long getUS()
{
struct timeval l_tv;
gettimeofday(&l_tv,NULL);
unsigned long long l_ret = 0;
l_ret = (l_tv.tv_sec&0xFFFFFFFF)*1000000;
l_ret += l_tv.tv_usec;
return l_ret;
}
{
struct timeval l_tv;
gettimeofday(&l_tv,NULL);
unsigned long long l_ret = 0;
l_ret = (l_tv.tv_sec&0xFFFFFFFF)*1000000;
l_ret += l_tv.tv_usec;
return l_ret;
}
unsigned long getMS()
{
struct timeval l_tv;
gettimeofday(&l_tv,NULL);
unsigned long l_ret = 0;
l_ret = (l_tv.tv_sec&0xFFFFFFFF)*1000;
l_ret += (l_tv.tv_usec/1000);
return l_ret;
}
四) 一些时间结构
{
struct timeval l_tv;
gettimeofday(&l_tv,NULL);
unsigned long l_ret = 0;
l_ret = (l_tv.tv_sec&0xFFFFFFFF)*1000;
l_ret += (l_tv.tv_usec/1000);
return l_ret;
}
四) 一些时间结构
struct timeval {
time_t tv_sec; /* seconds */
suseconds_t tv_usec; /* microseconds */
};
time_t tv_sec; /* seconds */
suseconds_t tv_usec; /* microseconds */
};
struct timezone {
int tz_minuteswest; /* minutes W of Greenwich */
int tz_dsttime; /* type of dst correction */
};