linux c 时间微秒,linux下C语言获取微秒级时间
使用C語言在linux環(huán)境下獲得微秒級時間
#include
#include
int gettimeofday(struct timeval*tv, struct timezone *tz);
函數(shù)說明:
gettimeofday()會把目前的時間有tv 所指的結(jié)構(gòu)返回,當(dāng)?shù)貢r區(qū)的信息則放到tz 所指的結(jié)構(gòu)中。時間是從公元 1970 年1 月1 日的UTC 時間從0 時0 分0 秒算起到現(xiàn)在所經(jīng)過的時間。
其參數(shù)tv是保存獲取時間結(jié)果的結(jié)構(gòu)體,參數(shù)tz用于保存時區(qū)結(jié)果:
struct timezone{
int tz_minuteswest;/*格林威治時間往西方的時差*/
int tz_dsttime;/*DST 時間的修正方式*/
}
timezone 參數(shù)若不使用則傳入NULL即可。
而結(jié)構(gòu)體timeval的定義為:
struct timeval{
long int tv_sec; // 秒數(shù)
long int tv_usec; // 微秒數(shù)
}
#include
#include
#include
#include
#include
#include
using namespace std;
string fa_getSysTime()
{
struct timeval tv;
gettimeofday(&tv,NULL);
struct tm* pTime;
pTime = localtime(&tv.tv_sec);
charsTemp[30] = {0};
snprintf(sTemp, sizeof(sTemp), "%04d%02d%02d%02d%02d%02d%03d%03d", pTime->tm_year+1900, \
pTime->tm_mon+1, pTime->tm_mday, pTime->tm_hour, pTime->tm_min, pTime->tm_sec, \
tv.tv_usec/1000,tv.tv_usec%1000);
return (string)sTemp;
}
int main()
{
cout<< "當(dāng)前時間:" << fa_getSysTime() << endl;
return 0
}
另有usleep函數(shù),time函數(shù)相對于gettimeofday就好比sleep函數(shù)相對usleep函數(shù)。
#include
usleep(time);// 百萬分之一秒
總結(jié)
以上是生活随笔為你收集整理的linux c 时间微秒,linux下C语言获取微秒级时间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 包包的结构制图_怪蜀黍教你做包包 篇四:
- 下一篇: linux能修改用户的权限,linux怎