Nếu tôi sử dụng một QSqlTableModel để truy cập cơ sở dữ liệu MySQL tôi có thể chuyển đổi một lĩnh vực dấu thời gian bằng cách sử dụng sau đây:MySQL dấu thời gian để QDateTime với mili giây
QDateTime dateTime = index(section, column).data().toDateTime();
QString str = dateTime.toString("yyyy-MM-dd hh:mm:ss.zzz");
Vì vậy str
chương trình, ví dụ: 2014-06-22 22:11:44.221
. Nhưng tôi muốn truy cập vào cơ sở dữ liệu sử dụng QSqlQuerry, vì vậy tôi làm:
QDateTime dateTime = query.value(column).toDateTime();
str = dateTime.toString("yyyy-MM-dd hh:mm:ss.zzz");
Nhưng bây giờ tôi đang thiếu mili giây, str
lãm 2014-06-22 22:11:44.000
. Cách thích hợp để xem mili giây là gì?
Nếu tôi làm str = query.value(column).toString();
thì tôi nhận được 2014-06-22T22:11:44
.
Bạn có chắc chắn rằng TIMESTAMP có nano giây không? – Miki
Chắc chắn. Bên cạnh việc nhìn thấy mili giây trong khi truy cập với QTableModel, tôi có thể xác nhận nó truy cập vào cơ sở dữ liệu với HeidiSQL (www.heidisql.com). – KcFnMi
HeidiSQL thực sự nói rằng trường là dấu thời gian (3). – KcFnMi