diff options
Diffstat (limited to 'src/corelib/tools')
-rw-r--r-- | src/corelib/tools/qdatetime.cpp | 51 | ||||
-rw-r--r-- | src/corelib/tools/qdatetime.h | 9 |
2 files changed, 55 insertions, 5 deletions
diff --git a/src/corelib/tools/qdatetime.cpp b/src/corelib/tools/qdatetime.cpp index ab1e3672d6..ba1dacff8f 100644 --- a/src/corelib/tools/qdatetime.cpp +++ b/src/corelib/tools/qdatetime.cpp @@ -70,6 +70,13 @@ QT_BEGIN_NAMESPACE +#if QT_STRINGVIEW_LEVEL < 2 +static inline QStringView quick_stringview_cast(const QString &format) +{ + return QStringView(format.data(), format.size()); // avoids isNull() check as we don't care +} +#endif + /***************************************************************************** Date/Time Constants *****************************************************************************/ @@ -879,6 +886,9 @@ QString QDate::toString(Qt::DateFormat format) const } /*! + \fn QString QDate::toString(const QString &format) const + \fn QString QDate::toString(QStringView format) const + Returns the date as a string. The \a format parameter determines the format of the result string. @@ -927,10 +937,18 @@ QString QDate::toString(Qt::DateFormat format) const \sa fromString(), QDateTime::toString(), QTime::toString(), QLocale::toString() */ -QString QDate::toString(const QString& format) const +QString QDate::toString(QStringView format) const { return QLocale::system().toString(*this, format); // QLocale::c() ### Qt6 } + +#if QT_STRINGVIEW_LEVEL < 2 +QString QDate::toString(const QString &format) const +{ + return toString(quick_stringview_cast(format)); +} +#endif + #endif //QT_NO_DATESTRING /*! @@ -1625,6 +1643,9 @@ QString QTime::toString(Qt::DateFormat format) const } /*! + \fn QString QTime::toString(const QString &format) const + \fn QString QTime::toString(QStringView format) const + Returns the time as a string. The \a format parameter determines the format of the result string. @@ -1675,11 +1696,20 @@ QString QTime::toString(Qt::DateFormat format) const \sa fromString(), QDate::toString(), QDateTime::toString(), QLocale::toString() */ -QString QTime::toString(const QString& format) const +QString QTime::toString(QStringView format) const { return QLocale::system().toString(*this, format); // QLocale::c() ### Qt6 } + +#if QT_STRINGVIEW_VERSION < 2 +QString QTime::toString(const QString &format) const +{ + return toString(quick_stringview_cast(format)); +} +#endif + #endif //QT_NO_DATESTRING + /*! Sets the time to hour \a h, minute \a m, seconds \a s and milliseconds \a ms. @@ -3853,6 +3883,9 @@ QString QDateTime::toString(Qt::DateFormat format) const } /*! + \fn QString QDateTime::toString(const QString &format) const + \fn QString QDateTime::toString(QStringView format) const + Returns the datetime as a string. The \a format parameter determines the format of the result string. @@ -3925,10 +3958,18 @@ QString QDateTime::toString(Qt::DateFormat format) const \sa fromString(), QDate::toString(), QTime::toString(), QLocale::toString() */ -QString QDateTime::toString(const QString& format) const +QString QDateTime::toString(QStringView format) const { return QLocale::system().toString(*this, format); // QLocale::c() ### Qt6 } + +#if QT_STRINGVIEW_LEVEL < 2 +QString QDateTime::toString(const QString &format) const +{ + return toString(quick_stringview_cast(format)); +} +#endif + #endif //QT_NO_DATESTRING static inline void massageAdjustedDateTime(const QDateTimeData &d, QDate *date, QTime *time) @@ -5264,7 +5305,7 @@ QDebug operator<<(QDebug dbg, const QDate &date) QDebug operator<<(QDebug dbg, const QTime &time) { QDebugStateSaver saver(dbg); - dbg.nospace() << "QTime(" << time.toString(QStringLiteral("HH:mm:ss.zzz")) << ')'; + dbg.nospace() << "QTime(" << time.toString(QStringViewLiteral("HH:mm:ss.zzz")) << ')'; return dbg; } @@ -5273,7 +5314,7 @@ QDebug operator<<(QDebug dbg, const QDateTime &date) QDebugStateSaver saver(dbg); const Qt::TimeSpec ts = date.timeSpec(); dbg.nospace() << "QDateTime("; - dbg.noquote() << date.toString(QStringLiteral("yyyy-MM-dd HH:mm:ss.zzz t")) + dbg.noquote() << date.toString(QStringViewLiteral("yyyy-MM-dd HH:mm:ss.zzz t")) << ' ' << ts; switch (ts) { case Qt::UTC: diff --git a/src/corelib/tools/qdatetime.h b/src/corelib/tools/qdatetime.h index c7f14ed40a..e3552f5c82 100644 --- a/src/corelib/tools/qdatetime.h +++ b/src/corelib/tools/qdatetime.h @@ -89,8 +89,11 @@ public: #endif // QT_NO_TEXTDATE #ifndef QT_NO_DATESTRING QString toString(Qt::DateFormat f = Qt::TextDate) const; +#if QT_STRINGVIEW_LEVEL < 2 QString toString(const QString &format) const; #endif + QString toString(QStringView format) const; +#endif #if QT_DEPRECATED_SINCE(5,0) QT_DEPRECATED inline bool setYMD(int y, int m, int d) { if (uint(y) <= 99) y += 1900; return setDate(y, m, d); } @@ -162,8 +165,11 @@ public: int msec() const; #ifndef QT_NO_DATESTRING QString toString(Qt::DateFormat f = Qt::TextDate) const; +#if QT_STRINGVIEW_LEVEL < 2 QString toString(const QString &format) const; #endif + QString toString(QStringView format) const; +#endif bool setHMS(int h, int m, int s, int ms = 0); QTime addSecs(int secs) const Q_REQUIRED_RESULT; @@ -295,8 +301,11 @@ public: #ifndef QT_NO_DATESTRING QString toString(Qt::DateFormat f = Qt::TextDate) const; +#if QT_STRINGVIEW_LEVEL < 2 QString toString(const QString &format) const; #endif + QString toString(QStringView format) const; +#endif QDateTime addDays(qint64 days) const Q_REQUIRED_RESULT; QDateTime addMonths(int months) const Q_REQUIRED_RESULT; QDateTime addYears(int years) const Q_REQUIRED_RESULT; |