1 #include <stdio.h> 2 #include <time.h> 3 4 //日期格式转时间戳 5 time_t get_timestamp(char* time_str) 6 { 7 struct tm tm;//时间结构体 8 time_t timestamp;//时间类型,表示1970.01.01到特定日期的秒数 9 int a;//sscanf的返回值,不给返回值会警告 10 a = sscanf(time_str, "%d-%d-%d %d:%d:%d", &tm.tm_year, &tm.tm_mon, &tm.tm_mday, &tm.tm_hour, &tm.tm_min, &tm.tm_sec);//将数据写入结构体 11 printf("%d-%d-%d %d:%d:%d ", tm.tm_year, tm.tm_mon, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec);//打印结构体 12 //与时间戳相对应的时间结构体中tm_year的值从1900开始,tm_mon的取值范围是[0,11],故转时间戳前要将实际年份减去1900,实际月份减去1,之后才能转成正确的时间戳 13 tm.tm_year -= 1900; 14 tm.tm_mon -= 1; 15 timestamp = mktime(&tm);//转时间戳 16 return timestamp; 17 } 18 int main() 19 { 20 char time_str[20] = { '