summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qdatetime.cpp
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2016-11-21 17:48:04 +0100
committerEdward Welbourne <edward.welbourne@qt.io>2016-12-14 16:40:57 +0000
commitff4f0c327617e7d7593efdf986235296bf0b83d7 (patch)
tree4ec4ca7065351d99668b8a1210a6585dda58c564 /src/corelib/tools/qdatetime.cpp
parent7c33c644d399e7d547ccf9f779197208d07bca84 (diff)
Fix handling of time-zones in QDateTime::toString(Qt::TextDate)
Previously, a zone-based time would claim to be GMT, rather than identifying its zone properly. Sadly, testing this reveals that proprietary operating systems don't handle abbreviations ideally. Task-number: QTBUG-57320 Task-number: QTBUG-57298 Change-Id: I8d8b7fffdbf65ac6178a65f5fc2df4d25afb1a14 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/tools/qdatetime.cpp')
-rw-r--r--src/corelib/tools/qdatetime.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp
index 4337a4d13f..c0a678fec0 100644
--- a/src/corelib/tools/qdatetime.cpp
+++ b/src/corelib/tools/qdatetime.cpp
@@ -3808,7 +3808,16 @@ QString QDateTime::toString(Qt::DateFormat format) const
.arg(dt.day())
.arg(tm.toString(Qt::TextDate))
.arg(dt.year());
- if (timeSpec() != Qt::LocalTime) {
+ // Append zone/offset indicator, as appropriate:
+ switch (timeSpec()) {
+ case Qt::LocalTime:
+ break;
+# if QT_CONFIG(timezone)
+ case Qt::TimeZone:
+ buf += QLatin1Char(' ') + d->m_timeZone.abbreviation(*this);
+ break;
+# endif
+ default:
buf += QLatin1String(" GMT");
if (getSpec(d) == Qt::OffsetFromUTC)
buf += toOffsetString(Qt::TextDate, offsetFromUtc());