localtime_r 返回值不对,请求解救
代码如下:
struct tm pkt_time = {0};
static char ts[MAX_TIME_LEN];
time_t timep = 1439460264;
localtime_r(&timep , &pkt_time);// 这个函数貌似有些问题
strftime(ts, MAX_TIME_LEN, "%Y-%m-%d %H:%M:%S", &pkt_time);
printf("%d %d %d %d %d %d\n ", pkt_time.tm_sec, pkt_time.tm_min, pkt_time.tm_hour, pkt_time.tm_mday, pkt_time.tm_mon, pkt_time.tm_year);
printf("---- ts %u %s\n", pack->time_, ts);
程序运行后,打印出来的是:
38 13 9 0 0 493407503
---- ts 1439462109 493409403-01-00 09:13:38
明显不对啊, 求解救难道 是多线程引起的, 貌似 说 localtime_r 是线程安全的啊