Linux下获取ms的时间
程序员文章站
2022-06-03 08:18:16
...
void getCurrentTime(tm *iCurrentTime,long &iMilliSecond)
{
timeval tv;
time_t timep;
gettimeofday(&tv, NULL);//获取当下精确的s和us的时间
time(&timep);//获取从1900年至今的秒数
iCurrentTime = gmtime(&timep); //注意tm_year和tm_mon的转换后才是实际的时间
iCurrentTime->tm_year += 1900;
iCurrentTime->tm_mon += 1;
iMilliSecond = (tv.tv_sec*1000.0 + tv.tv_usec / 1000.0) - timep * 1000.0; //当前ms数
}
void setSystemTime(tm iCurrentTime,long &iMilliSecond)
{
int iRet ;
timeval tv;
time_t curtime = mktime(&iCurrentTime); //转化为1900年至今的秒数
tv.tv_sec = curtime;
tv.tv_usec = lMilliSecond * 1000;
iRet = settimeofday(&tv,NULL); //设置时间
if(0 != iRet)
{
printf("fail to set systemtime.");
}
}
上一篇: Linux时间同步
下一篇: Linux时间设置与iptables命令