From 56092db23f41123e2d24c7a1d79608d663297733 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 17 五月 2024 18:22:53 +0800 Subject: [PATCH] bug修复 --- common/TimeUtil.h | 32 ++++++++++++++++++++++++++++++++ 1 files changed, 32 insertions(+), 0 deletions(-) diff --git a/common/TimeUtil.h b/common/TimeUtil.h index afb408a..536ec5f 100644 --- a/common/TimeUtil.h +++ b/common/TimeUtil.h @@ -2,6 +2,8 @@ #include <iostream> #include <ctime> #include <string> +#include <sstream> +#include <vector> class TimeUtil { public: @@ -56,4 +58,34 @@ return timestamp; } + // 时间相减,返回相差的s + static int trade_time_sub(string time_str_1, string time_str_2) { + int time_1[3], time_2[3]; + // 切割时间 + std::string token; + std::vector<std::string> results = StringUtil::split(time_str_1,":"); + int index = 0; + for (std::vector<std::string>::iterator e = results.begin(); e != results.end(); e++) { + time_1[index] = stoi(*e); + index++; + } + results = StringUtil::split(time_str_2, ":"); + index = 0; + for (std::vector<std::string>::iterator e = results.begin(); e != results.end(); e++) { + time_2[index] = stoi(*e); + index++; + } + + int split_time = 11 * 3600 + 30 * 60 + 0; + int time_1_int = time_1[0] * 3600 + time_1[1] * 60 + time_1[2]; + int time_2_int = time_2[0] * 3600 + time_2[1] * 60 + time_2[2]; + if (split_time > time_1_int && split_time < time_2_int) { + time_2_int = time_2_int - 90 * 60; + } + else if (split_time > time_2_int && split_time < time_1_int) { + time_2_int = time_2_int + 90 * 60; + } + return time_1_int - time_2_int; + } + }; -- Gitblit v1.8.0