From 59ab7fd45fd8a2d0f40f53f1a8f21e1cc3602c05 Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Sat, 10 Aug 2019 12:17:58 +0000 Subject: [PATCH] fix negative and zero-padded year formatting cherry pick from upstream commits: https://github.com/qt/qtbase/commit/811bf4da67cedea0daa40f2fff805003687e9d6e https://github.com/qt/qtbase/commit/dd488bb7a449822d535ade6c840265ea76535f47 Signed-off-by: Ivailo Monev --- src/core/tools/qlocale.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/core/tools/qlocale.cpp b/src/core/tools/qlocale.cpp index 05be3b887..550493b26 100644 --- a/src/core/tools/qlocale.cpp +++ b/src/core/tools/qlocale.cpp @@ -2083,13 +2083,17 @@ QString QLocalePrivate::dateTimeToString(const QString &format, const QDate *dat repeat = 2; switch (repeat) { - case 4: - result.append(longLongToString(date->year())); + case 4: { + const int yr = date->year(); + const int len = (yr < 0) ? 5 : 4; + result.append(longLongToString(yr, -1, 10, len, QLocalePrivate::ZeroPadded)); break; - case 2: + } + case 2: { result.append(longLongToString(date->year() % 100, -1, 10, 2, QLocalePrivate::ZeroPadded)); break; + } default: repeat = 1; result.append(c); -- 2.11.0