Qt ISODatum formatiert Datum / Uhrzeit einschließlich Zeitzone

8

Kennt jemand eine sauberere Möglichkeit, die Zeitzone in die ISO-Zeichenfolgendarstellung einer QDateTime einzufügen?

Ich sollte nur Folgendes verwenden können:

%Vor%

aber das kommt immer im UTC-Format heraus:

%Vor%

Gegenwärtig arbeite ich so, um TimeSpec zu Qt :: offsetFromUtc zu zwingen, indem ich explizit den Offset festlege, den ich ursprünglich von QDateTime bekommen habe.

%Vor%

Dies gibt, was ursprünglich erwartet wurde:

%Vor%

Weiß jemand, wie man das auf eine sauberere Weise macht, oder muss dies als ein Fehler protokolliert werden?

BEARBEITEN: Ich benutze Qt5.2.1

UPDATE:

Das folgende kleine Programm zeigt, was ich meine:

%Vor%

Die folgende Ausgabe wird generiert:

%Vor%

Die letzte Zeile ist die erwartete Zeile. Bitte beachten Sie, dass das zweite Mal in UTC konvertiert wurde, was nicht gewünscht ist.

    
RobbieE 23.02.2014, 23:36
quelle

3 Antworten

4

Dies war nicht vor 5.2 vorhanden, aber es wurde dort integriert. Es scheint, dass Sie die Syntax falsch haben, weil es so aussehen sollte:

%Vor%

gemäß dem entsprechenden Bugreport . Beachten Sie, dass toTimeSpec (Qt :: OffsetFromUTC) in der Mitte aufgerufen wird.

    
lpapp 24.02.2014, 03:26
quelle
3

Wenn ich das brauche, verwende ich die folgende Umgehungsmöglichkeit:

%Vor%

Ich habe nicht getestet, ob @ lpappa an neuen Versionen arbeitet. Die obige Problemumgehung wurde in Qt 5.3 getestet.

    
RDP 11.01.2017 13:18
quelle
1

Dies scheint zu funktionieren, mit Millisekundengenauigkeit und Erhaltung der Zeitzoneninformationen:

%Vor%     
Rudolf Cardinal 02.06.2016 09:57
quelle

Tags und Links