Commit 80b4e484c17ced202ec2377959e2e869cea24ec9
1 parent
1e5961fe
优化时间检查代码
Showing
4 changed files
with
34 additions
and
28 deletions
src/ai_platform/mvpt.cpp
@@ -6,6 +6,7 @@ | @@ -6,6 +6,7 @@ | ||
6 | #include <mutex> | 6 | #include <mutex> |
7 | #include <chrono> | 7 | #include <chrono> |
8 | #include <thread> | 8 | #include <thread> |
9 | +#include <ctime> | ||
9 | 10 | ||
10 | #include "../decoder/interface/DecoderManager.h" | 11 | #include "../decoder/interface/DecoderManager.h" |
11 | #include "../decoder/interface/utiltools.hpp" | 12 | #include "../decoder/interface/utiltools.hpp" |
@@ -615,17 +616,13 @@ bool CMultiSourceProcess::save_obj_pic(ObjectInfo& res_obj) | @@ -615,17 +616,13 @@ bool CMultiSourceProcess::save_obj_pic(ObjectInfo& res_obj) | ||
615 | } | 616 | } |
616 | 617 | ||
617 | bool CMultiSourceProcess::CheckTime() { | 618 | bool CMultiSourceProcess::CheckTime() { |
618 | - struct tm* info; | ||
619 | - int nYear, nMonth, nDay; | ||
620 | - time_t raw; | ||
621 | - time(&raw); | ||
622 | - info = localtime(&raw); | ||
623 | - nYear = info->tm_year + 1900; | ||
624 | - nMonth = info->tm_mon + 1; | ||
625 | - nDay = info->tm_mday; | ||
626 | - if (nYear == 2026 && nMonth <= 3) | 619 | + |
620 | + long long deadline_ts = helpers::timer::get_ts_by_day_ms(2026, 4, 1); | ||
621 | + long long cur_ts = helpers::timer::get_cur_time_ms(); | ||
622 | + | ||
623 | + if (cur_ts < deadline_ts) | ||
627 | { | 624 | { |
628 | - return true; | 625 | + return true; |
629 | } | 626 | } |
630 | else | 627 | else |
631 | { | 628 | { |
src/helpers/time_helper.hpp
@@ -17,6 +17,8 @@ | @@ -17,6 +17,8 @@ | ||
17 | #include <thread> | 17 | #include <thread> |
18 | #include <unordered_map> | 18 | #include <unordered_map> |
19 | #include <spdlog/spdlog.h> | 19 | #include <spdlog/spdlog.h> |
20 | +#include <ctime> | ||
21 | + | ||
20 | 22 | ||
21 | using namespace std; | 23 | using namespace std; |
22 | 24 | ||
@@ -57,6 +59,31 @@ namespace helpers | @@ -57,6 +59,31 @@ namespace helpers | ||
57 | return std::string(buf); | 59 | return std::string(buf); |
58 | } | 60 | } |
59 | 61 | ||
62 | + static long long get_ts_by_day_ms(int year, int month, int day) | ||
63 | + { | ||
64 | + // 初始化tm结构体 | ||
65 | + std::tm t = {}; | ||
66 | + t.tm_year = year - 1900; // 年从1900年开始计数 | ||
67 | + t.tm_mon = month - 1; // 月份从0开始计数,3月是第4个月 | ||
68 | + t.tm_mday = day; // 日 | ||
69 | + t.tm_hour = 0; // 小时 | ||
70 | + t.tm_min = 0; // 分钟 | ||
71 | + t.tm_sec = 0; // 秒 | ||
72 | + | ||
73 | + // 使用mktime转换为time_t(如果需要) | ||
74 | + std::time_t timestamp = std::mktime(&t); // 或者直接使用下面的chrono方法跳过这一步 | ||
75 | + if (timestamp == -1) { | ||
76 | + return -1; // 或者抛出异常等错误处理方式 | ||
77 | + } | ||
78 | + | ||
79 | + // 使用chrono转换(如果不需要先转换为time_t) | ||
80 | + auto timepoint = std::chrono::system_clock::from_time_t(timestamp); | ||
81 | + auto duration = timepoint.time_since_epoch(); | ||
82 | + auto ms = std::chrono::duration_cast<std::chrono::milliseconds>(duration).count(); | ||
83 | + | ||
84 | + return ms; | ||
85 | + } | ||
86 | + | ||
60 | } // namespace timer | 87 | } // namespace timer |
61 | } // namespace helpers | 88 | } // namespace helpers |
62 | 89 |
src/util/util_tools.cpp deleted
1 | -#include "util_tools.h" | ||
2 | - | ||
3 | -using namespace std; | ||
4 | - | ||
5 | -namespace UtilTools{ | ||
6 | - long long get_cur_time_ms(){ | ||
7 | - chrono::time_point<chrono::system_clock, chrono::milliseconds> tpMicro | ||
8 | - = chrono::time_point_cast<chrono::milliseconds>(chrono::system_clock::now()); | ||
9 | - | ||
10 | - return tpMicro.time_since_epoch().count(); | ||
11 | - } | ||
12 | -} | ||
13 | \ No newline at end of file | 0 | \ No newline at end of file |