需求大概是:
检索设备录像文件,通过时间段检索,文件名以 前缀_日期_时间.mp4 为准
分别提取 文件名里面的 年、月、日、时、分,再检测是否在某个时间段
附上检测部分,是否完善,待测
969 #if 1
970 // 计算文件时间 转换成秒
971 // date -d "2010-10-18 00:00:00" +%s
972 sprintf(str_sec, "date -d \"%d-%d-%d %d:%d:00\" +%%s", m_year, m_month, m_day, m_hour, m_minute);
973 //trace("str_sec: %s", str_sec);
974 if ((ptr = popen(str_sec, "r")) != NULL) {
975 if (!fread(result, sizeof(char), sizeof(result), ptr)) {
976 trace("fread %s failed", str_sec);
977 return 0;
978 }
979
980 } else {
981 trace("popen %s failed", str_sec);
982 return 0;
983 }
984 diff = atol(result);
985
986 // ceiling 转换成秒
987 memset(str_sec, 0, sizeof(str_sec));
988 memset(result, 0, sizeof(result));
989 sprintf(str_sec, "date -d \"%d-%d-%d %d:%d:00\" +%%s", ceiling.u32Year, ceiling.u32Month, ceiling.u32Day, ceiling.u32Hour, ceiling.u32Minute);
990 if ((ptr = popen(str_sec, "r")) != NULL) {
991 if (!fread(result, sizeof(char), sizeof(result), ptr)) {
992 trace("fread %s failed", str_sec);
993 return 0;
994 }
995
996 } else {
997 trace("popen %s failed", str_sec);
998 return 0;
999 }
1000 m_ceiling = atol(result);
1001
1002 // floor 转换成秒
1003 memset(str_sec, 0, sizeof(str_sec));
1004 memset(result, 0, sizeof(result));
1005 sprintf(str_sec, "date -d \"%d-%d-%d %d:%d:00\" +%%s", floor.u32Year, floor.u32Month, floor.u32Day, floor.u32Hour, floor.u32Minute);
1006 if ((ptr = popen(str_sec, "r")) != NULL) {
1007 if (!fread(result, sizeof(char), sizeof(result), ptr)) {
1008 trace("fread %s failed", str_sec);
1009 return 0;
1010 }
1011
1012 } else {
1013 trace("popen %s failed", str_sec);
1014 return 0;
1015 }
1016 m_floor = atol(result);
1017
1018 if (diff >= m_ceiling && diff <= m_floor) {
1019 return 1;
1020 } else {
1021 return 0;
1022 }
1023 #endif