Russian Qt Forum
Ноябрь 24, 2024, 16:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Баг QT 5.2 или ошибка при вызове QDateTime::fromString()  (Прочитано 2407 раз)
alik
Гость
« : Сентябрь 04, 2016, 13:39 »

Добрый день,

Не могу понять, что происходит при вызове функции QDateTime::fromString.
Результатом функции всегда выходит "invalid".

В другую сторону все работает нормально:

    QDateTime local(QDateTime::currentDateTime());
    QString format = "yyyy-MM-dd hh:mm:ss";
    QString S = local.toString(format);

Результат: S = "2016-09-04 13:35:29"

Обратно с теми же настройками:

    QDateTime dateTime = QDateTime::fromString(S, format);

Результат: dateTime = (invalid)

Возможно это баг QT, но как его исправить?

Использую:
- ОС Ubuntu 15.04 64 bit
- Qt Creator 3.0.0
Based on Qt 5.2.0 (GCC 4.6.1, 64 bit)
Built on Dec 10 2013 at 11:45:55
From revision 27d10d8dcd
« Последнее редактирование: Сентябрь 04, 2016, 14:49 от alik » Записан
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #1 : Сентябрь 04, 2016, 16:27 »

если и так, то ведь не станешь же заводить багрепорт ибо ответ на него очевиден )
Записан
alik
Гость
« Ответ #2 : Сентябрь 04, 2016, 22:50 »

если и так, то ведь не станешь же заводить багрепорт ибо ответ на него очевиден )


Получается такая петрушка, следующий код абсолютно правильный и дебаг выдает нормальный результат, а значение переменной типа qdatetime высвечивается как invalid.

    QDateTime d = QDateTime::currentDateTime();
 
    const QString format = "yyyy-MM-dd hh:mm:ss";
    const QString formatted = d.toString(format);
    qDebug() << "d=" << d << ", formatted=" << formatted;
 
    QDateTime d2 = QDateTime::fromString(formatted, format);
    qDebug() << "d2=" << d2;

Debugging starts
&"warning: GDB: Failed to set controlling terminal: Inappropriate ioctl for device\n"
d= QDateTime("2016-09-04 20:19:13.029 MSK Qt::LocalTime") , formatted= "2016-09-04 20:19:13"
d2= QDateTime("2016-09-04 20:19:13.000 MSK Qt::LocalTime")

Прихожу к заключению, что это все же баг моего релиза кути.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.199 секунд. Запросов: 22.