如何获取linux系统时间,精确到秒或毫秒或微妙或纳秒?

一、精确到秒

#include 
#include 

int main(int argc,char *argv[])
{
        time_t now;
        time(&now);
        struct tm *pTime = localtime(&now);
        printf("%4d-%02d-%02d %02d:%02d:%02d\n",
                pTime->tm_year+1900,
                pTime->tm_mon+1,
                pTime->tm_mday,
                pTime->tm_hour,
                pTime->tm_min,
                pTime->tm_sec);
        return 0;
}

二、精确到毫秒,微妙,纳秒

int64_t cur_time = 0;
	struct timespec spec;

	clock_gettime(CLOCK_MONOTONIC, &spec);
	cur_time = (int64_t)spec.tv_sec * 1000000 + spec.tv_nsec / 1000;
这个例子是计算计算机启动后到现在为止流逝的微妙数。


你可能感兴趣的:(linux)