diff options
author | Edward Welbourne <edward.welbourne@qt.io> | 2016-11-21 17:48:04 +0100 |
---|---|---|
committer | Edward Welbourne <edward.welbourne@qt.io> | 2016-12-14 16:40:57 +0000 |
commit | ff4f0c327617e7d7593efdf986235296bf0b83d7 (patch) | |
tree | 4ec4ca7065351d99668b8a1210a6585dda58c564 /src/corelib/tools/qdatetime.cpp | |
parent | 7c33c644d399e7d547ccf9f779197208d07bca84 (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.cpp | 11 |
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()); |