Я пытаюсь сгенерировать строку даты из текущего времени, чтобы поместить ее в заголовок ответа HTTP. Это выглядит так:
Date: Tue, 15 Nov 2010 08:12:31 GMT
У меня есть только библиотека C по умолчанию для работы. Как мне это сделать?
Использование strftime(), заявлено в <time.h>.
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; }
См. Код , работающий на кодовой панели .
Проверьте, есть ли у вашей платформы strftime: http://pubs.opengroup.org/onlinepubs/007908799/xsh/strftime.html.
strftime
Используйте gmtime (3) + mktime (3).В итоге вы получите структуру, содержащую всю эту информацию.
struct tm { int tm_sec; /* seconds */ int tm_min; /* minutes */ int tm_hour; /* hours */ int tm_mday; /* day of the month */ int tm_mon; /* month */ int tm_year; /* year */ int tm_wday; /* day of the week */ int tm_yday; /* day in the year */ int tm_isdst; /* daylight saving time */ };