Q: 13.12 我如何用一个C程序获取当前日期和时间?


A: 只需要使用time、ctime、localtime和/或strftime函数。这里是一个简单的例子:

#include 
#include 

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 Sec. B10 pp. 255-7
ISO Sec. 7.12
H&S Sec. 18


(This Chinese translation isn't confirmed by the author, and it isn't for profits.)

Translator : jhlicc@gmai1.c0m
Origin : http://www.c-faq.com/lib/curtime.html