解析时区(%Z)时遇到问题 strptime(to,“%a%b%d%H:%M:%S%Z%Y”,& tm);
得到tm.tm_year = 0,因为可能%Z不能很好地解析时区。
代码是:
const uint8_t* from = u_name.version;
uint8_t *to = (uint8_t*) malloc(30);
strncpy(to, from+(strlen(u_name.version)-29), 29);
printf("%s\n",to); //"Wed Dec 31 23:59:59 1969"
struct tm tm;
strptime(to, "%a %b %d %H:%M:%S %Z %Y", &tm);
和tm.tm_year为0;
当我这样做时: strptime(to,“%a%b%d%H:%M:%S CEST%Y”,& tm); 一切都很好。