Seite 1 von 1

QDate::fromString funktioniert nicht

Verfasst: 19. November 2017 13:36
von freakonaleash99
Hallo zusammen,
ich habe ein komische Problem mit der oben genannten Funktion. Folgender Code:

Code: Alles auswählen

#include "mainwindow.h"
#include <QApplication>
#include <QDebug>
#include <QDate>

int main()
{
    QDate Date = QDate::fromString("Feb","MMM");
    qDebug()<<Date;
    
    return 0;
}
Rückgabewert ist: QDate("")

Wenn ich das ganze z.B. mit fromString("Februar","MMMM"); durchführe, wird der Februar korrekt in QDate übernommen (QDate("1900-02-01")).
Das Problem ist, ich bin 99,9% sicher, dass das schonmal so funktioniert hat.
Habt ihr eine Idee, warum das Ganze nicht funktioniert?

Danke.



Edit:
Bin jetzt mal den umgekehrten Weg gegangen und geschaut, was bei "tostring" herauskommt:

Code: Alles auswählen

"Jan."
QDate("2222-02-01")
"Feb."
QDate("2222-03-01")
"März"
QDate("2222-04-01")
"Apr."
QDate("2222-05-01")
"Mai"
QDate("2222-06-01")
"Juni"
QDate("2222-07-01")
"Juli"
QDate("2222-08-01")
"Aug."
QDate("2222-09-01")
"Sep."
QDate("2222-10-01")
"Okt."
QDate("2222-11-01")
"Nov."
QDate("2222-12-01")
"Dez."

Irgendwie komisch oder? Ist das evtl. Systemabhängig? in der Hilfe stehen immer nur 3 Buchstaben ohne "."

Re: QDate::fromString funktioniert nicht

Verfasst: 19. November 2017 17:20
von Volker75
Ob das "fromString" Systemabhängig ist habe ich jetzt nicht geprüft (da ich nur noch ISO 8601 Strings einlesen).
Die Ausgabe ist auf jeden Fall systemabhängig, da:
- bei unterschiedlichen Sprachen auch unterschiedliche Strings ausgegeben werden.
- ich festgestellt habe, dass unter MacOS das Datum anders als unter Windows ausgegeben wird. (Dort ist es auch mal mit bzw. ohne Punkt. (Habe ich allerdings bei "ganzen/langen" Daten bemerkt. Ich habe es nicht bei einzelnen Monaten ausprobiert.)