summaryrefslogtreecommitdiffstats
path: root/src/corelib/time
diff options
context:
space:
mode:
authorEdward Welbourne <edward.welbourne@qt.io>2020-01-23 18:03:32 +0100
committerEdward Welbourne <edward.welbourne@qt.io>2020-05-08 09:51:10 +0200
commitbd5fe6f385daebd0e9156c80508095e47f53a693 (patch)
tree040f4b9eb443b1cb87cd23ef8a977cd4b5b355af /src/corelib/time
parent5ba66c5622e9e0da87a5037399b375d7e8cee554 (diff)
Merge some QDateTime methods marked for merging
New methods added that can take default arguments to make old methods redundant, now that we can break binary compatibility. Change-Id: Iface9d91d4636965285a3ad0c5347fcd7ce5398c Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/time')
-rw-r--r--src/corelib/time/qdatetime.cpp76
-rw-r--r--src/corelib/time/qdatetime.h49
2 files changed, 30 insertions, 95 deletions
diff --git a/src/corelib/time/qdatetime.cpp b/src/corelib/time/qdatetime.cpp
index 4801fddb79..2e4757b525 100644
--- a/src/corelib/time/qdatetime.cpp
+++ b/src/corelib/time/qdatetime.cpp
@@ -1062,7 +1062,7 @@ QString QDate::toString(Qt::DateFormat format) const
switch (format) {
case Qt::RFC2822Date:
- return QLocale::c().toString(*this, QStringView(u"dd MMM yyyy"));
+ return QLocale::c().toString(*this, u"dd MMM yyyy");
default:
case Qt::TextDate:
return toStringTextDate(*this);
@@ -1074,9 +1074,7 @@ QString QDate::toString(Qt::DateFormat format) const
}
/*!
- \fn QString QDate::toString(const QString &format) const
\fn QString QDate::toString(const QString &format, QCalendar cal) const
- \fn QString QDate::toString(QStringView format) const
\fn QString QDate::toString(QStringView format, QCalendar cal) const
Returns the date as a string. The \a format parameter determines the format
@@ -1130,22 +1128,12 @@ QString QDate::toString(Qt::DateFormat format) const
\sa fromString(), QDateTime::toString(), QTime::toString(), QLocale::toString()
*/
-QString QDate::toString(QStringView format) const
-{
- return toString(format, QCalendar());
-}
-
QString QDate::toString(QStringView format, QCalendar cal) const
{
return QLocale::c().toString(*this, format, cal);
}
#if QT_STRINGVIEW_LEVEL < 2
-QString QDate::toString(const QString &format) const
-{
- return toString(qToStringViewIgnoringNull(format), QCalendar());
-}
-
QString QDate::toString(const QString &format, QCalendar cal) const
{
return toString(qToStringViewIgnoringNull(format), cal);
@@ -1518,6 +1506,8 @@ QDate QDate::fromString(const QString &string, Qt::DateFormat format)
}
/*!
+ \fn QDate QDate::fromString(const QString &string, const QString &format, QCalendar cal)
+
Returns the QDate represented by the \a string, using the \a
format given, or an invalid date if the string cannot be parsed.
@@ -1599,15 +1589,6 @@ QDate QDate::fromString(const QString &string, const QString &format, QCalendar
#endif
return date;
}
-
-/*!
- \overload
-*/
-
-QDate QDate::fromString(const QString &string, const QString &format)
-{
- return fromString(string, format, QCalendar());
-}
#endif // datestring
/*!
@@ -3935,7 +3916,6 @@ void QDateTime::setSecsSinceEpoch(qint64 secs)
\sa fromString(), QDate::toString(), QTime::toString(),
QLocale::toString()
*/
-
QString QDateTime::toString(Qt::DateFormat format) const
{
QString buf;
@@ -3943,11 +3923,10 @@ QString QDateTime::toString(Qt::DateFormat format) const
return buf;
switch (format) {
- case Qt::RFC2822Date: {
+ case Qt::RFC2822Date:
buf = QLocale::c().toString(*this, u"dd MMM yyyy hh:mm:ss ");
buf += toOffsetString(Qt::TextDate, offsetFromUtc());
return buf;
- }
default:
case Qt::TextDate: {
const QPair<QDate, QTime> p = getDateTime(d);
@@ -3997,9 +3976,7 @@ QString QDateTime::toString(Qt::DateFormat format) const
}
/*!
- \fn QString QDateTime::toString(const QString &format) const
\fn QString QDateTime::toString(const QString &format, QCalendar cal) const
- \fn QString QDateTime::toString(QStringView format) const
\fn QString QDateTime::toString(QStringView format, QCalendar cal) const
Returns the datetime as a string. The \a format parameter determines the
@@ -4039,28 +4016,17 @@ QString QDateTime::toString(Qt::DateFormat format) const
\sa fromString(), QDate::toString(), QTime::toString(), QLocale::toString()
*/
-QString QDateTime::toString(QStringView format) const
-{
- return toString(format, QCalendar());
-}
-
QString QDateTime::toString(QStringView format, QCalendar cal) const
{
return QLocale::c().toString(*this, format, cal);
}
-#if QT_STRINGVIEW_LEVEL < 2
-QString QDateTime::toString(const QString &format) const
-{
- return toString(qToStringViewIgnoringNull(format), QCalendar());
-}
-
+# if QT_STRINGVIEW_LEVEL < 2
QString QDateTime::toString(const QString &format, QCalendar cal) const
{
return toString(qToStringViewIgnoringNull(format), cal);
}
-#endif
-
+# endif
#endif // datestring
static inline void massageAdjustedDateTime(const QDateTimeData &d, QDate *date, QTime *time)
@@ -4595,27 +4561,6 @@ qint64 QDateTime::currentSecsSinceEpoch() noexcept
#endif
/*!
- \since 4.7
-
- Returns a datetime whose date and time are the number of milliseconds, \a msecs,
- that have passed since 1970-01-01T00:00:00.000, Coordinated Universal
- Time (Qt::UTC), and converted to Qt::LocalTime. On systems that do not
- support time zones, the time will be set as if local time were Qt::UTC.
-
- Note that there are possible values for \a msecs that lie outside the valid
- range of QDateTime, both negative and positive. The behavior of this
- function is undefined for those values.
-
- \sa toMSecsSinceEpoch(), setMSecsSinceEpoch()
-*/
-QDateTime QDateTime::fromMSecsSinceEpoch(qint64 msecs)
-{
- return fromMSecsSinceEpoch(msecs, Qt::LocalTime);
-}
-
-/*!
- \since 5.2
-
Returns a datetime whose date and time are the number of milliseconds \a msecs
that have passed since 1970-01-01T00:00:00.000, Coordinated Universal
Time (Qt::UTC) and converted to the given \a spec.
@@ -4989,15 +4934,6 @@ QDateTime QDateTime::fromString(const QString &string, const QString &format, QC
return QDateTime();
}
-/*
- \overload
-*/
-
-QDateTime QDateTime::fromString(const QString &string, const QString &format)
-{
- return fromString(string, format, QCalendar());
-}
-
#endif // datestring
/*!
\fn QDateTime QDateTime::toLocalTime() const
diff --git a/src/corelib/time/qdatetime.h b/src/corelib/time/qdatetime.h
index 52231e876e..5a8e1aecd8 100644
--- a/src/corelib/time/qdatetime.h
+++ b/src/corelib/time/qdatetime.h
@@ -44,6 +44,7 @@
#include <QtCore/qstring.h>
#include <QtCore/qnamespace.h>
#include <QtCore/qshareddata.h>
+#include <QtCore/qcalendar.h>
#include <limits>
@@ -54,7 +55,6 @@ Q_FORWARD_DECLARE_OBJC_CLASS(NSDate);
QT_BEGIN_NAMESPACE
-class QCalendar;
class QTimeZone;
class QDateTime;
@@ -69,6 +69,7 @@ public:
Q_DECL_CONSTEXPR bool isNull() const { return !isValid(); }
Q_DECL_CONSTEXPR bool isValid() const { return jd >= minJd() && jd <= maxJd(); }
+ // Gregorian-optimized:
int year() const;
int month() const;
int day() const;
@@ -76,7 +77,7 @@ public:
int dayOfYear() const;
int daysInMonth() const;
int daysInYear() const;
- int weekNumber(int *yearNum = nullptr) const;
+ int weekNumber(int *yearNum = nullptr) const; // ISO 8601, always Gregorian
int year(QCalendar cal) const;
int month(QCalendar cal) const;
@@ -95,21 +96,18 @@ public:
#if QT_CONFIG(datestring)
QString toString(Qt::DateFormat format = Qt::TextDate) const;
-
-#if QT_STRINGVIEW_LEVEL < 2
- QString toString(const QString &format) const;
- QString toString(const QString &format, QCalendar cal) const;
-#endif
-
- QString toString(QStringView format) const;
- QString toString(QStringView format, QCalendar cal) const;
+# if QT_STRINGVIEW_LEVEL < 2
+ QString toString(const QString &format, QCalendar cal = QCalendar()) const;
+# endif
+ QString toString(QStringView format, QCalendar cal = QCalendar()) const;
#endif
- bool setDate(int year, int month, int day);
+ bool setDate(int year, int month, int day); // Gregorian-optimized
bool setDate(int year, int month, int day, QCalendar cal);
void getDate(int *year, int *month, int *day) const;
Q_REQUIRED_RESULT QDate addDays(qint64 days) const;
+ // Gregorian-optimized:
Q_REQUIRED_RESULT QDate addMonths(int months) const;
Q_REQUIRED_RESULT QDate addYears(int years) const;
Q_REQUIRED_RESULT QDate addMonths(int months, QCalendar cal) const;
@@ -125,9 +123,12 @@ public:
static QDate currentDate();
#if QT_CONFIG(datestring)
+ static QDate fromString(QStringView s, Qt::DateFormat f = Qt::TextDate);
+ static QDate fromString(QStringView s, QStringView format, QCalendar cal = QCalendar());
+# if QT_STRINGVIEW_LEVEL < 2
static QDate fromString(const QString &s, Qt::DateFormat f = Qt::TextDate);
- static QDate fromString(const QString &s, const QString &format);
- static QDate fromString(const QString &s, const QString &format, QCalendar cal);
+ static QDate fromString(const QString &s, const QString &format, QCalendar cal = QCalendar());
+# endif
#endif
static bool isValid(int y, int m, int d);
static bool isLeapYear(int year);
@@ -299,12 +300,10 @@ public:
#if QT_CONFIG(datestring)
QString toString(Qt::DateFormat format = Qt::TextDate) const;
-#if QT_STRINGVIEW_LEVEL < 2
- QString toString(const QString &format) const;
- QString toString(const QString &format, QCalendar cal) const;
-#endif
- QString toString(QStringView format) const;
- QString toString(QStringView format, QCalendar cal) const;
+# if QT_STRINGVIEW_LEVEL < 2
+ QString toString(const QString &format, QCalendar cal = QCalendar()) const;
+# endif
+ QString toString(QStringView format, QCalendar cal = QCalendar()) const;
#endif
Q_REQUIRED_RESULT QDateTime addDays(qint64 days) const;
Q_REQUIRED_RESULT QDateTime addMonths(int months) const;
@@ -335,14 +334,14 @@ public:
static QDateTime currentDateTimeUtc();
#if QT_CONFIG(datestring)
static QDateTime fromString(const QString &s, Qt::DateFormat f = Qt::TextDate);
- static QDateTime fromString(const QString &s, const QString &format);
- static QDateTime fromString(const QString &s, const QString &format, QCalendar cal);
+ static QDateTime fromString(const QString &s, const QString &format,
+ QCalendar cal = QCalendar());
#endif
- static QDateTime fromMSecsSinceEpoch(qint64 msecs);
- // ### Qt 6: Merge with above with default spec = Qt::LocalTime
- static QDateTime fromMSecsSinceEpoch(qint64 msecs, Qt::TimeSpec spec, int offsetFromUtc = 0);
- static QDateTime fromSecsSinceEpoch(qint64 secs, Qt::TimeSpec spe = Qt::LocalTime, int offsetFromUtc = 0);
+ static QDateTime fromMSecsSinceEpoch(qint64 msecs, Qt::TimeSpec spec = Qt::LocalTime,
+ int offsetFromUtc = 0);
+ static QDateTime fromSecsSinceEpoch(qint64 secs, Qt::TimeSpec spe = Qt::LocalTime,
+ int offsetFromUtc = 0);
#if QT_CONFIG(timezone)
static QDateTime fromMSecsSinceEpoch(qint64 msecs, const QTimeZone &timeZone);