Преобразование QString, содержащее PostgreSQL TimeStamp в QDateTime
Вопрос
У меня проблемы с, казалось бы, очень простой проблемой: я хочу получить QDateTime от QString, содержащего временную метку. Я получил метку времени от PostgreSQL, но это не имеет значения. Вот код, который не работает:
QString timestamp = "2010-10-09 19:21:46+02:00";
QString format = "YYYY-MM-DD HH:MM:SSTZD";
QDateTime dt = QDateTime::fromString(timestamp, format);
qDebug() << dt.toString(); // outputs empty string
Должно быть что -то очень очевидное, что мне не хватает. Спасибо!
Решение
Я делал две ошибки. В спецификациях формата нет TZD, поэтому я удалил информацию о часовом поясе, так как она не нужна в моем приложении, выполняя:
timeStamp.chop(6);
А затем использовал следующий формат, чтобы получить QDateTime. Обратите внимание на символы нижнего формата:
QDateTime createdAt = QDateTime::fromString(timeStamp, "yyyy-MM-dd HH:mm:ss");
Спасибо всем выше, за помощь.
Не связан с StackOverflow