334{
335
337
342 localtime_r(&start_time, <m);
343 std::stringstream s;
344 s <<
345 std::setfill('0') << std::setw(2) << ltm.tm_year - 100 <<
346 std::setfill('0') << std::setw(2) << ltm.tm_mon + 1 <<
347 std::setfill('0') << std::setw(2) << ltm.tm_mday <<
348 "_" << "??????.*";
350 } else {
352 struct tm ltStart, ltStop;
353 localtime_r(&start_time, <Start);
355 std::stringstream sStart, sStop;
356 std::string mStart, mStop;
357 mask =
"??????_??????.*";
358
359 sStart <<
360 std::setfill('0') << std::setw(2) << ltStart.tm_year - 100 <<
361 std::setfill('0') << std::setw(2) << ltStart.tm_mon + 1 <<
362 std::setfill('0') << std::setw(2) << ltStart.tm_mday <<
363 "_" <<
364 std::setfill('0') << std::setw(2) << ltStart.tm_hour <<
365 std::setfill('0') << std::setw(2) << ltStart.tm_min <<
366 std::setfill('0') << std::setw(2) << ltStart.tm_sec;
367 mStart = sStart.str();
368 sStop <<
369 std::setfill('0') << std::setw(2) << ltStop.tm_year - 100 <<
370 std::setfill('0') << std::setw(2) << ltStop.tm_mon + 1 <<
371 std::setfill('0') << std::setw(2) << ltStop.tm_mday <<
372 "_" <<
373 std::setfill('0') << std::setw(2) << ltStop.tm_hour <<
374 std::setfill('0') << std::setw(2) << ltStop.tm_min <<
375 std::setfill('0') << std::setw(2) << ltStop.tm_sec;
376 mStop = sStop.str();
377 for (
int i=0 ;
i<13 ;
i++) {
378 if (mStart[
i] == mStop[
i])
380 else
381 break;
382 }
383 }
384
386
388
389 if (vfn.size() == 0)
391
392 std::sort(vfn.begin(), vfn.end());
393
394 time_t minDiff = 1E7;
395 time_t minTime{};
396 int minIndex{};
397
398 for (
unsigned i=0 ;
i<vfn.size() ;
i++) {
400 sscanf(vfn[
i].c_str(),
"%2d%2d%2d_%2d%2d%2d", &ti.tm_year, &ti.tm_mon,
401 &ti.tm_mday, &ti.tm_hour, &ti.tm_min, &ti.tm_sec);
402 ti.tm_year += 100;
403 ti.tm_mon -= 1;
404 ti.tm_isdst = -1;
406 time_t now;
407 time(&now);
408
409 if (abs(ft - start_time) < minDiff) {
410 minDiff = abs(ft - start_time);
411 minTime = ft;
413 }
414
416 vtime.push_back(ft);
417 vfilename.push_back(vfn[
i]);
418 }
419 }
420
421
422 if (start_time ==
stop_time && vfn.size() > 0) {
423 vtime.push_back(minTime);
424 vfilename.push_back(vfn[minIndex]);
425 }
426
427
428
430}
time_t ss_mktime(struct tm *tms)
INT ss_file_find(const char *path, const char *pattern, char **plist)
std::string history_dir()
std::vector< std::string > STRING_LIST