Есть строки вида
QString str1 = QLatin1String("Apr 21 13:10:21 als-au kernel: message");
QString str2 = QLatin1String("Jan 1 13:08:43 efm16 kernel: message");
QRegExp sep(QLatin1String("\\s+"));
QString str_t1 = str1.section(sep, 0, 2);
QString str_t2 = str2.section(sep, 0, 2);
QDateTime dt1 = QDateTime::fromString(str_t1, QLatin1String("MMM d hh:mm:ss"));
QDateTime dt2 = QDateTime::fromString(str_t2, QLatin1String("MMM d hh:mm:ss"));
qDebug() << str_t1 << dt1;
qDebug() << str_t2 << dt2;
ты замечание по функции не прочитал:
После прочтения легче не стало. Т.е. получается что такой формат мне не преобразовать что ли?
QDate тоже не помог.
Легче свой велосипед написать
Или я всётаки делаю что то не так?
Сделал вот так вот:
QLocale english(QLocale::English);
qDebug() << english.toDateTime("Apr 21 13:10:21", "MMM d hh:mm:ss");
вывод:QDateTime("Сб 21. апр 13:10:21 1900")
года не было по этому он 1900, а вот зачем он субботу печатает, не знаю, может это особенность qDebug()
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)