def get_training_time():
    global Hero, From, To, Zuansheng
    total_exp = 0
    hi = HeroInfo()
    exp_speed = int(hi.get_exp_speed())
    if Zuansheng > 0:
        if From is None:
            From = 1
            To = 51
        else:
            To = From - From % 10 + 1
        print 'Will sum from level %d to level %d'%(From, To)
        for l in range(From, To):
            total_exp += get_time_by_level(l)
        for z in range(Zuansheng):
            To += 10
            To = min(To, 150)
            print 'Will sum from level %d to level %d'%(From, To)
            for l in range(From, To):
                total_exp += get_time_by_level(l)
    else:
        if Hero:
            hid = UID[Hero]
            exp_speed = hi.get_exp_speed_by_id(hid) * (1 + hi.get_expMulti_by_id(hid))
            if not From:
                From = int(hi.get_level_by_id(hid))
            if not To:
                To = min(int(hi.get_nextrebirthlevel_by_id(hid)), hi.get_maxLevel_by_id(hid))
        print 'Will sum from level %d to level %d'%(From, To)
        for l in range(From, To):
            total_exp += get_time_by_level(l)
        total_exp -= hi.calc_cur_exp_by_id(hid)
    print 'Exp Speed: %d'%(exp_speed)
    print 'Total Exp: %d'%(total_exp)
    t = total_exp / float(exp_speed)
    if t > 24:
        d = int(t / 24)
        h = t - 24 * d
        print 'Need Time: %d Days %.1f Hours'%(d, h)
    else:
        print 'Need Time: %.1f Hours'%(t)