Probleme mit QDateTime (Geschwindigkeit)

Alles rund um die Programmierung mit Qt
Antworten
ngc
Beiträge: 2
Registriert: 15. Juni 2014 22:53

Probleme mit QDateTime (Geschwindigkeit)

Beitrag von ngc »

Hallo zusammen,

in einem Programm muss ich sehr oft zu einem vorhandenen Zeit (Datum + Zeit) etwas Zeit hinzufügen, also etwa so:

Code: Alles auswählen

for( i = 0; i < _echt sehr_gross; i++)
{
    d = d.addSeconds( delta );
    // tu was mit d
}
Leider hat sich genau dieses

Code: Alles auswählen

addSeconds() 
als zeitlicher Flaschenhals herausgestellt. probiert habe ich es schon mit

Code: Alles auswählen

    d = d.addDays( delta / sekunden_pro_tag ).addSeconds( delta % sekunden_pro_tag );
sowie

Code: Alles auswählen

    value = d.currentSecsSinceEpoch() + delta;
    d.setSecsSinceEpoch( value );
Hat noch jemand eine Idee?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Probleme mit QDateTime (Geschwindigkeit)

Beitrag von Christian81 »

Rechne doch einfach nur in Sekunden und benutze QDateTime nur zur Anzeige.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
ngc
Beiträge: 2
Registriert: 15. Juni 2014 22:53

Re: Probleme mit QDateTime (Geschwindigkeit)

Beitrag von ngc »

Danke für deinen Ratschlag.
Christian81 hat geschrieben: 13. Januar 2018 13:16 Rechne doch einfach nur in Sekunden und benutze QDateTime nur zur Anzeige.
Mein Programm bekommt QDateTime-Werte geliefert (Startzeiten, aus einem anderen Programmteil) und muss diese nun vervollständigen (Endzeiten). Die Startzeiten selber werden mit komplizierten Regeln aus Textbeschreibungen, die auch Zeitzonen beinhalten, gelesen und berechnet. In dieser Berechnung fließen auch Sachen wie Wochentage mit ein - eine Information, die völlig verloren geht, wenn ich bei Sekunden bleibe. :(
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Probleme mit QDateTime (Geschwindigkeit)

Beitrag von Christian81 »

Nur weil das initiale Erzeugen ein QDateTime - Objekt erfordert, muss die Weiterverarbeitung dies ja nicht tun - zumal die weitere Verarbeitung wie Du mitbekommen hast, ziemlich lang dauert.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten