- 获取当前的时间的秒数、毫秒、微秒
头文件是:sys/time.h 。
函数说明:int gettimeofday (struct timeval * tv, struct timezone * tz)
#include <stdio.h>
#include <sys/time.h>
int main()
{
struct timeval tv;
gettimeofday(&tv,NULL);
printf("second:%ld\n",tv.tv_sec); //秒
printf("millisecond:%ld\n",tv.tv_sec*1000 + tv.tv_usec/1000); //毫秒
printf("microsecond:%ld\n",tv.tv_sec*1000000 + tv.tv_usec); //微秒
return 0;
}
Output:
second:1599207344
millisecond:1599207344774
microsecond:1599207344774411
- 获取当前的时间的年、月、日、时、分、秒
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
time_t t = time(NULL);
struct tm* stime=localtime(&t);
char tmp[32]{0};
snprintf(tmp,sizeof(tmp),"%04d-%02d-%02d %02d:%02d:%02d",1900+stime->tm_year,1+stime->tm_mon,stime->tm_mday, stime->tm_hour,stime->tm_min,stime->tm_sec);
cout<<tmp<<endl;
return 0;
}
Output:
2020-09-04 08:13:18
- 获取任务执行时间(秒)
#include <stdio.h>
#include <time.h>
int main()
{
time_t t_start, t_end;
t_start = time(NULL) ;
int sum = 0;
for(int i =0; i<1000; i++)
{
sum += i;
}
t_end = time(NULL) ;
printf("sum:%d time: %.0f s\n", sum, difftime(t_end,t_start)) ;
return 0;
}
Output:
sum:499500 time: 0 s