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; }
调用localtime和strftime看起来是这样的
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 节