从QDataStream读取QDateTime给出null

时间:2015-12-25 21:04:49

标签: qt qdatetime qdatastream

我将以下数据区域读入QDataStream对象:

DE 07 05 19 0E 28 1A 

这应该转换为日期/时间:25-05-2014 15:40:26

我正在尝试使用以下内容将其读入QDateTime变量:

QFile fileIn(iFile);
if (!fileIn.open(QIODevice::ReadOnly)) return;
QDataStream data(&fileIn);
data.setByteOrder(QDataStream::LittleEndian);
data.setVersion(QDataStream::Qt_5_0);
data.skipRawData(32);

.
.
QDateTime time;
data >> time;
qDebug () << time.date();

相反,我及时得到空/空白。 输出是:

QDate("")

1 个答案:

答案 0 :(得分:0)

这里的第一件事是这个数据是如何序列化的。我已经看了一眼,无法解决这个问题:每个字节都没有很好地转换为日期/时间的每个部分,你试图逆向工程的字节不是时代的该日期的值转换为十六进制。您不能指望QDateTime神奇地了解您的原始数据格式。用数据格式报告,我会尝试并提供帮助。