У меня есть функция, которая преобразует метку времени RFC 822 в unixtime
#include <stdio.h>
#include <time.h>
int main() {
struct tm tm;
time_t unixtime;
strptime("Sun, 20 Feb 2011 10:28:02 +0800","%a, %e %h %Y %H:%M:%S %z",&tm);
unixtime = mktime(&tm);
printf("%d\n",unixtime);
return 0;
}
Проблема: часть часового пояса (% z) не работает. Я попытался изменить входной часовой пояс на другие значения +0100, + 0200 и т. Д. Без изменения других значений даты, он всегда дает одинаковую метку unixtime (т. Е. Unixtimestamp, соответствующую GMT)
В чем здесь проблема?