Russian Qt Forum

Qt => Общие вопросы => Тема начата: crossly от Март 17, 2010, 18:08



Название: QDateTime::fromString()
Отправлено: crossly от Март 17, 2010, 18:08
всем трям....
есть строка вида "17 Mar 2010 4:10 pm"
надо из нее получить QDateTime...
делаю
Код:
QDateTime::fromString("17 Mar 2010 4:10 pm","dd MMM yyyy h:mm ap");
получаю пустой QDateTime.... что не так ??


Название: Re: QDateTime::fromString()
Отправлено: BRE от Март 17, 2010, 18:11
всем трям....
есть строка вида "17 Mar 2010 4:10 pm"
надо из нее получить QDateTime...
делаю
Код:
QDateTime::fromString("17 Mar 2010 4:10 pm","dd MMM yyyy h:mm ap");
получаю пустой QDateTime.... что не так ??
Устал уже объяснять.  :)
Qt ждет имя месяца по русски, а ты ему по английски подсовываешь.
Смотри QLocale.


Название: Re: QDateTime::fromString()
Отправлено: crossly от Март 17, 2010, 18:20
эт я понимаю.... :)
скажем так.... строку я получаю из некого источника.... и получаю ее не локализованную... как быть в таком случае??


Название: Re: QDateTime::fromString()
Отправлено: BRE от Март 17, 2010, 18:24
эт я понимаю.... :)
скажем так.... строку я получаю из некого источника.... и получаю ее не локализованную... как быть в таком случае??

QDateTime QLocale::toDateTime ( const QString & string, const QString & format ) const
и выбери ту локаль, в которой передается строка.
Код
C++ (Qt)
       QLocale loc( QLocale::C );
       QDateTime date = loc.toDateTime( "17 Mar 2010 4:10 pm", "dd MMM yyyy h:mm ap" );
       qDebug() << date;