Date/time stored in UTC now.
This commit is contained in:
parent
2c2796f746
commit
ad85713fee
2 changed files with 8 additions and 4 deletions
|
|
@ -141,9 +141,11 @@ QVariant MessagesModel::data(const QModelIndex &index, int role) const {
|
||||||
int index_column = index.column();
|
int index_column = index.column();
|
||||||
|
|
||||||
if (index_column == MSG_DB_DCREATED_INDEX) {
|
if (index_column == MSG_DB_DCREATED_INDEX) {
|
||||||
// This column contains QDateTime.
|
// This column contains QDateTime properly stored in ISO format.
|
||||||
return TextFactory::parseDateTime(QSqlTableModel::data(index,
|
// So that QDateTime::fromString(...) is okay here.
|
||||||
role).toString()).toString(Qt::DefaultLocaleShortDate);
|
return QDateTime::fromString(QSqlTableModel::data(index,
|
||||||
|
role).toString(),
|
||||||
|
Qt::ISODate).toLocalTime().toString(Qt::DefaultLocaleShortDate);
|
||||||
}
|
}
|
||||||
else if (index_column == MSG_DB_AUTHOR_INDEX) {
|
else if (index_column == MSG_DB_AUTHOR_INDEX) {
|
||||||
QString author_name = QSqlTableModel::data(index, role).toString();
|
QString author_name = QSqlTableModel::data(index, role).toString();
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@ QDateTime TextFactory::parseDateTime(const QString &date_time) {
|
||||||
QString temp;
|
QString temp;
|
||||||
QLocale locale(QLocale::C);
|
QLocale locale(QLocale::C);
|
||||||
QStringList date_patterns;
|
QStringList date_patterns;
|
||||||
// Dec 1 2013 07:56:46
|
|
||||||
date_patterns << "yyyy-MM-ddTHH:mm:ss" << "MMM dd yyyy hh:mm:ss" <<
|
date_patterns << "yyyy-MM-ddTHH:mm:ss" << "MMM dd yyyy hh:mm:ss" <<
|
||||||
"MMM d yyyy hh:mm:ss" << "ddd, dd MMM yyyy HH:mm:ss" <<
|
"MMM d yyyy hh:mm:ss" << "ddd, dd MMM yyyy HH:mm:ss" <<
|
||||||
"dd MMM yyyy" << "yyyy-MM-dd HH:mm:ss.z" << "yyyy-MM-dd" <<
|
"dd MMM yyyy" << "yyyy-MM-dd HH:mm:ss.z" << "yyyy-MM-dd" <<
|
||||||
|
|
@ -30,10 +29,13 @@ QDateTime TextFactory::parseDateTime(const QString &date_time) {
|
||||||
temp = date.left(pattern.size());
|
temp = date.left(pattern.size());
|
||||||
dt = locale.toDateTime(temp, pattern);
|
dt = locale.toDateTime(temp, pattern);
|
||||||
if (dt.isValid()) {
|
if (dt.isValid()) {
|
||||||
|
dt.setTimeSpec(Qt::UTC);
|
||||||
return dt;
|
return dt;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: ISO time zone offsets are not read now, problem.
|
||||||
|
|
||||||
// Parsing failed, return invalid datetime.
|
// Parsing failed, return invalid datetime.
|
||||||
return QDateTime();
|
return QDateTime();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue