[原创]将固定格式时间表达式转换成秒
近来需要遇到一个时间转换问题,需要将格式为YYYY-MM-DD HH24:MI:SS的时间转换成从1970年1月1日零时到给定时间的秒数,实现方法如下:
时间的表现形式:2012-1-1 11:11:11
1 const char * date = "2012-1-1 11:11:11";
2
3 time_t sec = 0;
4 struct tm tmp_tm;
5 memset(&tmp_tm, 0, sizeof(struct tm));
6 sscanf(date, "%d-%d-%d %d:%d:%d", &tmp_tm.tm_year, &tmp_tm.tm_mon, &tmp_tm.tm_day, &tmp_tm.tm_hour, &tmp_tm.tm_min, &tmp_tm.tm_sec);
7
8 tmp_tm.tm_year -= 1900;
9 tmp_tm.tm_mon -= 1;
10
11 sec = mktime(&tmp_tm);
12
13 if(sec==-1)
14 return 0;
15
16 return sec;
sec为转换后的时间!