如何从C程序中获取系统时间?我可以使用gettimeoftheday吗?如果有人有C程序可以做到这一点请分享,我是新手。谢谢
一些示例代码
#include <sys/time.h>
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
char buffer[30];
struct timeval tv;
time_t curtime;
gettimeofday(&tv, NULL);
curtime=tv.tv_sec;
strftime(buffer,30,"%m-%d-%Y %T.",localtime(&curtime));
printf("%s%ld\n",buffer,tv.tv_usec);
return 0;
}
答案 0 :(得分:0)
您可以使用strftime仅获取分钟部分:
#include <time.h>
#include <stdlib.h>
#include <stdio.h>
int main(void)
{
char buffer[0x100];
time_t curtime;
// Don't forget to check the return value !
curtime = time(NULL);
if (curtime == -1)
{
perror("time()");
return 1;
}
strftime(buffer,0x100,"%M",localtime(&curtime));
printf("minutes: %s\n", buffer);
return 0;
}
此处无需使用gettimeofday,只有在您希望精度优于秒时才使用它。
答案 1 :(得分:0)
#include <stdio.h>
#include <time.h>
int main()
{
time_t curtime;
char buffer[30];
struct tm* tm_info;
time(&curtime);
tm_info = localtime(&curtime);
strftime(buffer, 30, "%Y-%m-%d %H:%M:%S", tm_info);
puts(buffer);
return 0;
}
%Y: - 将打印年份
%m: - 将打印月份
%d: - 将打印日
%H: - 将打印小时
%M: - 将打印分钟
%S: - 将打印第二个