Добрый день.
Как известно, у QDateTime есть дополнтельный спецификатор 't', позволяющий читать из строки таймзону, например, 'Z'. Но в документации довольно невнятно прописано, что появился он относительно недавно, и когда конкретно - непонятно. Я на грабли налетел только когда программа отказалась корректно работать на Qt 5.5.1 (возвращается пустой невалидный QDateTime).
Более вдумчивое чтение справки показало, что спецификатор 't' упоминается одновременно со второй реализацией QDateTime::fromString() с тремя параметрами (хотя на современных Qt он и с двумя параметрами работает). Реализация с тремя параметрами отсылает к классу QCalendar, про который уже явно написано, что появился он в 5.14. Я предположил было, что тогда появился и спецификатор 't'. Но нет: в самосборной Qt 5.10 он работает!
Собственно, вопроса два:
1. Так в какой же версии Qt он появился? Мне хотя бы условную компиляцию корректно написать, это программа-минимум.
2. Что посоветуете делать в более старых версиях? (Это программа-максимум.) Мне это нужно для парсинга в DoubleContact (см. подпись) структур vMessage, в которых попадается вот такое:
Можно либо игнорить таймзону, но если вдруг там будет не только Z, это приведёт к ошибкам. Ну или самому парсить. Или парсить с игнором, а потом как-то вытаскивать таймозону отдельно?