Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
5.14.0
-
None
-
Windows 10, Visual Studio 2019, Qt 5.14.0
-
-
8
-
c39dbabde9d98b805f1d1884d3aeee5c8dcb4d03
-
Qt6_Foundation_Sprint 17
Description
When following code is run
#include <QCoreApplication> #include <QDateTime> #include <QLocale> #include <QDebug> #include <chrono> using TimeUnit = std::chrono::milliseconds; using TimePoint = std::chrono::time_point<std::chrono::system_clock, TimeUnit>; static QString localize(TimePoint data) { using namespace std::chrono; QDateTime datetime; datetime.setTime_t(duration_cast<seconds>(data.time_since_epoch()).count()); auto date = datetime.date().toString(Qt::DefaultLocaleLongDate); auto time = datetime.time().toString(Qt::TextDate); return (date + " " + time); } int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QLocale::setDefault(QLocale(QLocale::Slovenian, QLocale::Slovenia)); TimePoint date(TimeUnit(2272219805000)); auto string = localize(date); qDebug() << string; return a.exec(); }
It gets printed "sreda, 01. January 2042 21:10:05", which is wrong.
It should be printed "sreda, 01. januar 2042 21:10:05"
This is regression. It worked correctly on Qt 5.13.1, but not on 5.14.0