我可以使用 struct tm 和 time()、localtime()、asctime() 获取系统时间。但是我需要有关如何使用 C 程序设置系统时间的帮助。
如果您不想执行 shell 命令,您可以(正如您提到的)使用 settimeofday,我将首先阅读MAN page,或者寻找一些例子
这是一个例子:
#include <sys/time.h>
#include <stdio.h>
#include <errno.h>
int main(int argc, char *argv[])
{
struct timeval now;
int rc;
now.tv_sec=866208142;
now.tv_usec=290944;
rc=settimeofday(&now, NULL);
if(rc==0) {
printf("settimeofday() successful.\n");
}
else {
printf("settimeofday() failed, "
"errno = %d\n",errno);
return -1;
}
return 0;
}
无耻地抄袭自IBM 文档, the struct timeval
结构体保存秒数(作为long
)加上微秒数(作为long
)从 1970 年 1 月 1 日 00:00:00 UTC(Unix 纪元时间)开始。因此,您需要计算这些数字才能设置时间。你可以使用这些辅助函数,以更好地处理 timeval 结构。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)