Question

Je ne parviens pas à un problème apparemment très simple: je veux obtenir un QDateTime d'un QString contenant un horodatage. Je suis l'horodatage de PostgreSQL, mais il n'a pas d'importance. Voici le code qui ne fonctionne pas:

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

Il doit y avoir quelque chose de très évident que je suis absent. Merci!

Était-ce utile?

La solution

Il y avait deux erreurs que je faisais. Il n'y a pas TZD dans les spécifications de format, donc j'ai supprimé les informations de fuseau horaire que je ne ai pas besoin dans mon application en faisant:

timeStamp.chop(6);

Et puis utilisé le format suivant pour obtenir un QDateTime. Notez les caractères de format minuscule:

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

Merci à tous ceux ci-dessus pour aider.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top