QDateTime - Change debug output to ISO Format
Change the debug format from Qt::TextDate to a more detailed ISO style format including better time spec output. [ChangeLog][QtCore][QDateTime] The debug datastream is now an ISO-like format instead of Qt::TextDate Change-Id: Iddbb8199c3bfbf7bca845482617e7a85da43259d Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
0771075f66
commit
94a7576658
@ -4391,19 +4391,34 @@ void QDateTimePrivate::getUTC(QDate &outDate, QTime &outTime) const
|
||||
#if !defined(QT_NO_DEBUG_STREAM) && !defined(QT_NO_DATESTRING)
|
||||
QDebug operator<<(QDebug dbg, const QDate &date)
|
||||
{
|
||||
dbg.nospace() << "QDate(" << date.toString() << ')';
|
||||
dbg.nospace() << "QDate(" << date.toString(QStringLiteral("yyyy-MM-dd")) << ')';
|
||||
return dbg.space();
|
||||
}
|
||||
|
||||
QDebug operator<<(QDebug dbg, const QTime &time)
|
||||
{
|
||||
dbg.nospace() << "QTime(" << time.toString() << ')';
|
||||
dbg.nospace() << "QTime(" << time.toString(QStringLiteral("HH:mm:ss.zzz")) << ')';
|
||||
return dbg.space();
|
||||
}
|
||||
|
||||
QDebug operator<<(QDebug dbg, const QDateTime &date)
|
||||
{
|
||||
dbg.nospace() << "QDateTime(" << date.toString() << ')';
|
||||
QString spec;
|
||||
switch (date.d->spec) {
|
||||
case QDateTimePrivate::UTC :
|
||||
spec = QStringLiteral(" Qt::UTC");
|
||||
break;
|
||||
case QDateTimePrivate::OffsetFromUTC :
|
||||
spec = QString::fromUtf8(" Qt::OffsetFromUTC %1s").arg(date.offsetFromUtc());
|
||||
break;
|
||||
case QDateTimePrivate::LocalDST :
|
||||
case QDateTimePrivate::LocalStandard :
|
||||
case QDateTimePrivate::LocalUnknown :
|
||||
default :
|
||||
spec = QStringLiteral(" Qt::LocalTime");
|
||||
}
|
||||
QString output = date.toString(QStringLiteral("yyyy-MM-dd HH:mm:ss.zzz t")) + spec;
|
||||
dbg.nospace() << "QDateTime(" << output << ')';
|
||||
return dbg.space();
|
||||
}
|
||||
#endif
|
||||
|
@ -293,6 +293,10 @@ private:
|
||||
friend Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QDateTime &);
|
||||
friend Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QDateTime &);
|
||||
#endif
|
||||
|
||||
#if !defined(QT_NO_DEBUG_STREAM) && !defined(QT_NO_DATESTRING)
|
||||
friend Q_CORE_EXPORT QDebug operator<<(QDebug, const QDateTime &);
|
||||
#endif
|
||||
};
|
||||
Q_DECLARE_SHARED(QDateTime)
|
||||
|
||||
|
@ -72,7 +72,9 @@ void tst_QNoDebug::noDebugOutput() const
|
||||
void tst_QNoDebug::streaming() const
|
||||
{
|
||||
QDateTime dt(QDate(1,2,3),QTime(4,5,6));
|
||||
QTest::ignoreMessage(QtWarningMsg, qPrintable(QString::fromLatin1("QDateTime(\"%1\") ").arg(dt.toString())));
|
||||
QString debugString = dt.toString(QStringLiteral("yyyy-MM-dd HH:mm:ss.zzz t"))
|
||||
+ QStringLiteral(" Qt::LocalTime");
|
||||
QTest::ignoreMessage(QtWarningMsg, qPrintable(QString::fromLatin1("QDateTime(\"%1\") ").arg(debugString)));
|
||||
qWarning() << dt;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user