summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/corelib/tools/qdatetime.cpp26
-rw-r--r--src/corelib/tools/qdatetime.h1
2 files changed, 27 insertions, 0 deletions
diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp
index d87a4c1b67..bfcbe1e050 100644
--- a/src/corelib/tools/qdatetime.cpp
+++ b/src/corelib/tools/qdatetime.cpp
@@ -2993,6 +2993,32 @@ QString QDateTime::timeZoneAbbreviation() const
}
/*!
+ \since 5.2
+
+ Returns if this datetime falls in Daylight Savings Time.
+
+ If the Qt::TimeSpec is not Qt::LocalTime then will always
+ return false.
+
+ \sa timeSpec()
+*/
+
+bool QDateTime::isDaylightTime() const
+{
+ switch (d->m_spec) {
+ case Qt::UTC:
+ case Qt::OffsetFromUTC:
+ return false;
+ case Qt::LocalTime: {
+ QDateTimePrivate::DaylightStatus status;
+ localMSecsToEpochMSecs(d->m_msecs, 0, 0, &status, 0);
+ return (status == QDateTimePrivate::DaylightTime);
+ }
+ }
+ return false;
+}
+
+/*!
Sets the date part of this datetime to \a date.
If no time is set, it is set to midnight.
diff --git a/src/corelib/tools/qdatetime.h b/src/corelib/tools/qdatetime.h
index 779aae5b5b..4b97cd797d 100644
--- a/src/corelib/tools/qdatetime.h
+++ b/src/corelib/tools/qdatetime.h
@@ -223,6 +223,7 @@ public:
Qt::TimeSpec timeSpec() const;
int offsetFromUtc() const;
QString timeZoneAbbreviation() const;
+ bool isDaylightTime() const;
qint64 toMSecsSinceEpoch() const;
// ### Qt 6: use quint64 instead of uint