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
parent
95b0e4c956
commit
0679b96338
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue