QTime больше 24 часов



  • Привет,
    Можно ли как-то обойти ограничение на 24 часа в QTime?
    Есть такой код:

    QVector<QTime> time;
            time.fill( QTime(0,0), 3 );
    
            while ( q.next() )
            {
                ms = MachineState( q.value(2).toInt(), 0, 0, q.value(0).toDateTime() );
                int interval = lastMs.date().secsTo( ms.date() );
                switch ( lastMs.state() )
                {
                case MachineState::work :
                    time[MachineState::work] = time[MachineState::work].addSecs(interval);
                    break;
                case MachineState::adjustment :
                    time[MachineState::adjustment] = time[MachineState::adjustment].addSecs(interval);
                    break;
                case MachineState::idle :
                    time[MachineState::idle] = time[MachineState::idle].addSecs(interval);
                    break;
                }
                lastMs = ms;
            }
    

    Если обрабатывать информацию за 2-3 дня, таймер просто сбросится, как это обойти?



  • Хранить интервалы в виде чисел (qint64), а не QTime



  • Но ведь по запросу из бд приходят данные формата час:минута:секунда, как тогда с этим быть?



  • Сконвертировать QTime в секунды


Log in to reply