在C中以HTTP响应日期格式生成日期字符串

Wei*_*Shi 5 c date

我正在尝试从当前时间生成一个日期字符串以放入HTTP响应头.它看起来像这样:

Date: Tue, 15 Nov 2010 08:12:31 GMT
Run Code Online (Sandbox Code Playgroud)

我只有默认的C库可以使用.我该怎么做呢?

pmg*_*pmg 19

使用strftime(),声明于<time.h>.

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

int main(void) {
  char buf[1000];
  time_t now = time(0);
  struct tm tm = *gmtime(&now);
  strftime(buf, sizeof buf, "%a, %d %b %Y %H:%M:%S %Z", &tm);
  printf("Time is: [%s]\n", buf);
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

请参阅键盘上代码"running".

  • 使用`strftime`,日期和月份名称依赖于语言环境,但HTTP规范需要英文名称,因此我认为这在非​​英语语言环境中无法正常工作. (2认同)