QDate::fromString Frage

Alles rund um die Programmierung mit Qt
Antworten
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

QDate::fromString Frage

Beitrag von pfid »

Hi,

ich möchte gerne das Datum aus einem Emailheader parsen. Beispiel:

10 Feb 2010 15:48:16

Auf den ersten Blick wäre cool:

Code: Alles auswählen

QDateTime::fromString(""d MMM yyyy hh:mm:ss")
Leider geht das nicht, da die Sprache auf meinem System Deuscht ist, das Datum aber auf englisch kommt. Gibts da ne einfache Möglichkeit, z.b. mit QLocale o.ä., oder muss ich das von Hand parsen?
KartoffelKiffer
Beiträge: 101
Registriert: 27. Februar 2008 15:59

Re: QDate::fromString Frage

Beitrag von KartoffelKiffer »

Hallo,

ich habe zwar keine Lösung, jedoch selbiges Problem.
Da die Frage schon gestellt wurde, schließe ich mich mal an.

Ich muss ein Datum wie "Oct 22 09:40:13" mit QDateTime::fromString verarbeiten. Mein System ist auf deutsch eingestellt, die Locales allerdings auf "C" gesetzt.

Code: Alles auswählen

setLocale(QLocale::C);
QLocale::setDefault(QLocale::C);

// myStringDate = Oct 22 09:40:13
QDateTime d = QDateTime::fromString(myStringDate, "MMM dd HH:mm:ss");

qDebug() << date.toString("MMM dd HH:mm:ss");
qDebug sollte an der Stelle genau den String ausgeben, wie ich ihn mittels "myStringDate" übergeben hatte, ist jedoch leer.

Hat jemand eine Idee dazu?


Grüße
KK
KartoffelKiffer
Beiträge: 101
Registriert: 27. Februar 2008 15:59

Re: QDate::fromString Frage

Beitrag von KartoffelKiffer »

Hallo,

wirklich blöd. Jetzt suche ich seit einer Stunde nach einer Lösung und finde sie fünf Minuten, nachdem ich ins Forum schreibe.

An der Stelle funktioniert fromString nicht, sondern folgende Lösung:

Code: Alles auswählen

QDateTime date   = QLocale(QLocale::C).toDateTime(myDateString, "MMM dd HH:mm:ss");// vorher: QDateTime::fromString(myDateString, "MMM dd HH:mm:ss");
QLocale::toDateTime() ist also der Schlüssel.
Antworten