Use QDateTime::toString(Qt::ISODateWithMS) instead of reinventing it

Following up on a review comment on commit
0a5f71c606.

Change-Id: I46924f5ad1b291039d22a3d6015d80306679ad26
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
bb10
Edward Welbourne 2018-04-23 12:05:00 +02:00
parent 95b0e4c956
commit 0679b96338
1 changed files with 1 additions and 27 deletions

View File

@ -419,32 +419,6 @@ bool QSQLiteResult::prepare(const QString &query)
return true;
}
static QString secondsToOffset(int seconds)
{
const QChar sign = ushort(seconds < 0 ? '-' : '+');
seconds = qAbs(seconds);
const int hours = seconds / 3600;
const int minutes = (seconds % 3600) / 60;
return QString(QStringLiteral("%1%2:%3")).arg(sign).arg(hours, 2, 10, QLatin1Char('0')).arg(minutes, 2, 10, QLatin1Char('0'));
}
static QString timespecToString(const QDateTime &dateTime)
{
switch (dateTime.timeSpec()) {
case Qt::LocalTime:
return QString();
case Qt::UTC:
return QStringLiteral("Z");
case Qt::OffsetFromUTC:
return secondsToOffset(dateTime.offsetFromUtc());
case Qt::TimeZone:
return secondsToOffset(dateTime.timeZone().offsetFromUtc(dateTime));
default:
return QString();
}
}
bool QSQLiteResult::execBatch(bool arrayBind)
{
Q_UNUSED(arrayBind);
@ -551,7 +525,7 @@ bool QSQLiteResult::exec()
break;
case QVariant::DateTime: {
const QDateTime dateTime = value.toDateTime();
const QString str = dateTime.toString(QLatin1String("yyyy-MM-ddThh:mm:ss.zzz") + timespecToString(dateTime));
const QString str = dateTime.toString(Qt::ISODateWithMs);
res = sqlite3_bind_text16(d->stmt, i + 1, str.utf16(),
str.size() * sizeof(ushort), SQLITE_TRANSIENT);
break;