|
|
@@ -1920,24 +1920,31 @@ bool TransmitterSwitch::isFrequencyInCountdown(int channelID)
|
|
|
bool TransmitterSwitch::isInCountdownTime(const QDateTime& nowTime, const enum_WeekDay weekDay, const QDateTime& time)
|
|
|
{
|
|
|
// 10分钟后
|
|
|
- QDateTime tmpTime = nowTime.addSecs(10 * 60);
|
|
|
+ int tenMinutes = 10 * 60;
|
|
|
+ QDateTime afterTenMins = nowTime.addSecs(tenMinutes);
|
|
|
enum_WeekDay nowWeekDay = static_cast<enum_WeekDay>(nowTime.date().dayOfWeek());
|
|
|
- enum_WeekDay tmpWeekDay = static_cast<enum_WeekDay>(tmpTime.date().dayOfWeek());
|
|
|
+ enum_WeekDay afterWeekDay = static_cast<enum_WeekDay>(afterTenMins.date().dayOfWeek());
|
|
|
/* 先判断是否是特殊日 */
|
|
|
if(weekDay == enum_WeekDay::WeekDay_Special)
|
|
|
{
|
|
|
- if(time <= tmpTime && time > nowTime)
|
|
|
+ if(time <= afterTenMins && time > nowTime)
|
|
|
{
|
|
|
/* 在10分钟之内 */
|
|
|
return true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /* 正常日,先判断有没有跨天 */
|
|
|
- if(nowWeekDay == tmpWeekDay)
|
|
|
+ /* 正常日,判断执行时间是否在这两天 */
|
|
|
+ if(weekDay != nowWeekDay || weekDay != afterWeekDay)
|
|
|
+ {
|
|
|
+ /* 执行时间不在这两天,直接返回false */
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ /* 正常日,先判断十分钟后有没有跨天 */
|
|
|
+ if(nowWeekDay == afterWeekDay)
|
|
|
{
|
|
|
/* 在同一天 */
|
|
|
- if(time.time() <= tmpTime.time() && time.time() > nowTime.time())
|
|
|
+ if(time.time() <= afterTenMins.time() && time.time() >= nowTime.time())
|
|
|
{
|
|
|
/* 在10分钟之内 */
|
|
|
return true;
|
|
|
@@ -1946,18 +1953,20 @@ bool TransmitterSwitch::isInCountdownTime(const QDateTime& nowTime, const enum_W
|
|
|
/* 跨天了,判断时间 */
|
|
|
if(weekDay == nowWeekDay)
|
|
|
{
|
|
|
- /* 在今天 */
|
|
|
+ /* 执行时间在今天 */
|
|
|
if(time.time() >= nowTime.time())
|
|
|
{
|
|
|
/* 在今天的10分钟之内 */
|
|
|
return true;
|
|
|
- }else {
|
|
|
- /* 在明天的10分钟之内 */
|
|
|
- if(time.time() <= tmpTime.time())
|
|
|
- {
|
|
|
- return true;
|
|
|
- }
|
|
|
}
|
|
|
+ } else
|
|
|
+ {
|
|
|
+ /* 执行在明天 */
|
|
|
+ if(time.time() <= afterTenMins.time())
|
|
|
+ {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|