linux下c获取时间

头文件

#include "sys/time.h"

结构体

struct timezone
{
    int tz_minuteswest;    /*格林威治时间往西方的时差*/
    int tz_dsttime;        /*DST 时间的修正方式*/
}        
struct timeval
{
    long int tv_sec;     // 秒数
    long int tv_usec;   // 微秒数
}

函数

#include <stdio.h>     
#include <sys/time.h>  
 
int main() 
{ 
    struct timeval cur_time; 
    gettimeofday( &cur_time, NULL ); 
    printf("%d.%d", cur_time.tv_sec, cur_time.tv_usec); 
 
    return 0; 
} 

获取的tv_sec是十位数字,从1970年到现在的秒数;tv_usec是微秒(小数点后六位)

故需要精确到微妙的时间戳,需要加上以下代码:

#include “math.h”

long long c_time;
c_time = cur_time.tv_sec * pow(10.0,6) + cur_time.tv_usec;
原文地址:https://www.cnblogs.com/raichen/p/5507186.html