一个小项目需要以系统时间(精确到微秒)为变量创建文件名,在网上搜索资料,在stackoverflow上找到了需要的东西,记下来备用
#include <sys/time.h>
#include <time.h>
#include <stdio.h>
int get_localtime(char *output)
{
struct timeval tv;
time_t nowtime;
struct tm *nowtm;
char tmbuf[64], buf[64];
gettimeofday(&tv, NULL);
nowtime = tv.tv_sec;
nowtm = localtime(&nowtime);
strftime(tmbuf, sizeof tmbuf, "%Y%m%d_%H_%M_%S", nowtm);
snprintf(buf, sizeof buf, "%s_%06ld", tmbuf, tv.tv_usec);
printf("local time : %s\n",buf);
return 1;
}
最后的输出如下图所示