c++ c 时间戳获取 秒级 微秒级 纳秒级别

来源:互联网 发布:java 面试项目 编辑:程序博客网 时间:2024/06/06 18:30
#include <iostream>  #include <sys/time.h>#include <cstdlib>  #include <cstdio>#include <ctime>#include <cmath>#include <unistd.h>using namespace std;time_t clocktime(){time_t t= time(NULL);std::cout<<" s秒级 ----:";std::cout<<t<<endl;struct timeval tv;  gettimeofday(&tv,NULL); std::cout<<"10e6 微秒级s ----:";std::cout<<tv.tv_sec<<"s,"<<tv.tv_usec<<"微秒"<<endl;struct timespec tn;cout<<"----";clock_gettime(CLOCK_REALTIME, &tn);std::cout<<"10e9 纳秒级s ----:";std::cout<<tn.tv_sec<<"s,"<<tn.tv_nsec<<"纳秒"<<endl;struct timespec current_time,last_time;double aa=1.1234567891;printf("double %.12f\n",aa);cout<<"----";clock_gettime(CLOCK_REALTIME, &last_time);sleep(1);std::cout<<last_time.tv_sec<<","<<last_time.tv_nsec<<endl;clock_gettime(CLOCK_REALTIME, ¤t_time);std::cout<<current_time.tv_sec<<","<<current_time.tv_nsec<<","<<pow(10,-9)<<endl;  double delta_time = (current_time.tv_sec - last_time.tv_sec)+ (current_time.tv_nsec - last_time.tv_nsec)*pow(10,-9);printf("double %.12f\n",delta_time);}int main( ){     clocktime();return 0;}


a@a:~/github/cpp/src$ g++ time.cpp
a@a:~/github/cpp/src$ ./a.out
 s秒级 ----:1500448195
10e6 微秒级s ----:1500448195s,315233微秒
----10e9 纳秒级s ----:1500448195s,315235598纳秒
double 1.123456789100
----1500448195,315242687
1500448196,315388886,1e-09
double 1.000146199000



原创粉丝点击