import time


def findStart(timeaircond="timeaircond", timeaircond_last="", ahead=0):

    timeaircond_last_stemp = int(time.mktime(time.strptime(timeaircond_last, "%Y-%m-%d %H:%M:%S")))
    timeaircond_stemp = [int(time.mktime(time.strptime(each_time, "%Y-%m-%d %H:%M:%S"))) for each_time in timeaircond]
    if ahead < len(timeaircond) - 1:
        time_substruct = [1000000 if timeaircond_stemp[
                                         each_timeaircond_stemp] - timeaircond_last_stemp <= 0 or each_timeaircond_stemp < ahead else
                          timeaircond_stemp[each_timeaircond_stemp] - timeaircond_last_stemp for each_timeaircond_stemp
                          in range(len(timeaircond_stemp))]
    else:
        time_substruct = [1000000 if timeaircond_last_stemp - timeaircond_stemp[
            each_timeaircond_stemp] <= 0 or each_timeaircond_stemp < ahead else timeaircond_last_stemp -
                                                                                timeaircond_stemp[
                                                                                    each_timeaircond_stemp] for
                          each_timeaircond_stemp in range(len(timeaircond_stemp))]

    index = time_substruct.index(min(time_substruct))
    return index

def aircondAnalysis(statesaircond="",statesaircond_off="",timeaircond="",timeaircond_off="",eachdata_pow="",eachdata_cur="",timer=""):

    timeaircond_off_chang=[each.split(" ")[1][:-3].split(":") for each in timeaircond_off]
    timeaircond_off_hour=[each[0] for each in timeaircond_off_chang]

    aircondRunStages=[]
    aircondRunStages.append(timeaircond[0])
    for each_off in range(1,len(timeaircond_off)):
        if int(timeaircond_off_hour[-1])-int(timeaircond_off_hour[-2])<=2 and each_off==len(timeaircond_off_hour)-1:
            aircondRunStages.append(timeaircond_off[each_off])
        if int(timeaircond_off_hour[each_off])-int(timeaircond_off_hour[each_off-1])<=2:
            continue
        else:
            if each_off<len(timeaircond)-1:
                aircondRunStages.append(timeaircond_off[each_off-1])
                findStart1=findStart(timeaircond=timeaircond,timeaircond_last=timeaircond_off[each_off-1],ahead=each_off)
                aircondRunStages.append(timeaircond[findStart1])
            else:
                aircondRunStages.append(timeaircond_off[each_off])

    return aircondRunStages