prev up next   top/contents search

comp.lang.c FAQ 列表· 问题 13.12

Q如何在 C 程序中获取当前日期或时间?


A只需使用time, ctime, localtime和/或strftime函数。这是一个简单的例子:[脚注]

#include <stdio.h>
#include <time.h>

int main()
{
	time_t now;
	time(&now);
	printf("It's %s", ctime(&now));
	return 0;
}

调用localtimestrftime看起来是这样的

	struct tm *tmp = localtime(&now);
	char fmtbuf[30];
	printf("It's %d:%02d:%02d\n",
		tmp->tm_hour, tmp->tm_min, tmp->tm_sec);
	strftime(fmtbuf, sizeof fmtbuf, "%A, %B %d, %Y", tmp);
	printf("on %s\n", fmtbuf);
(请注意,这些函数需要一个指向time_t变量的指针,即使它们不会修改它。[脚注]

如果您需要亚秒级精度,请参阅问题 19.37

参考文献:K&R2 第 B10 节 pp. 255-7
ISO 第 7.12 节
H&S 第 18 节


prev up next   contents search
关于此 FAQ 列表   关于 Eskimo   搜索   反馈   版权

Eskimo North 托管