Frage

Ich habe Probleme mit einem scheinbar sehr einfaches Problem: Ich habe eine QDateTime von einem QString bekommen einen Zeitstempel enthält. Ich habe den Zeitstempel von PostgreSQL, aber es spielt keine Rolle. Hier ist der Code, der nicht funktioniert:

QString timestamp = "2010-10-09 19:21:46+02:00";
QString format = "YYYY-MM-DD HH:MM:SSTZD";
QDateTime dt = QDateTime::fromString(timestamp, format);
qDebug() << dt.toString(); // outputs empty string

Es muss etwas sehr offensichtlich fehlt mir. Dank!

War es hilfreich?

Lösung

Es waren zwei Fehler, die ich mache. Es gibt keine TZD in den Formatspezifikationen, so dass ich die Zeitzoneninformationen entfernt, da ich brauche es nicht in meiner app, indem Sie:

timeStamp.chop(6);

Und dann das folgende Format verwendet, um eine QDateTime zu bekommen. Beachten Sie die Kleinformatzeichen:

QDateTime createdAt = QDateTime::fromString(timeStamp, "yyyy-MM-dd HH:mm:ss");

Vielen Dank an alle oben für die Unterstützung aus.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top