对于其他类型,我可以轻松地执行类似
的操作mitm.created().toString("yyyy-MM-dd")
是否有将qint64转换为QString的类似功能?你可以在下面找到代码。
fileArray.append("[");
foreach(QFileInfo mitm, mDir.entryInfoList(QDir::Files)){
fileArray.append("{\"filePath\": \"");
fileArray.append(mitm.absoluteFilePath());
fileArray.append("\",");
fileArray.append("\"fileCreated\": \"");
fileArray.append(mitm.created().toString("yyyy-MM-dd"));
fileArray.append("',");
fileArray.append("'fileSize': '");
// fileArray.append(mitm.size());
fileArray.append("\"}");
if(fileCount!=mDir.entryInfoList(QDir::Files).count()-1){ fileArray.append(","); }
fileCount++;
}
fileArray.append("]");
我已经注释掉了破坏代码的行。我有相同的日期问题,但用toString来转换它。我希望qint64会有类似的解决方案。
答案 0 :(得分:10)
您可能正在寻找QString::number(qlonglong, int)
。
答案 1 :(得分:4)
您需要为此编写以下代码:
fileArray.append("[");
foreach(QFileInfo mitm, mDir.entryInfoList(QDir::Files)){
fileArray.append("{\"filePath\": \"");
fileArray.append(mitm.absoluteFilePath());
fileArray.append("\",");
fileArray.append("\"fileCreated\": \"");
fileArray.append(mitm.created().toString("yyyy-MM-dd"));
fileArray.append("',");
fileArray.append("'fileSize': '");
fileArray.append(QString::number(mitm.size()));
fileArray.append("\"}");
if(fileCount!=mDir.entryInfoList(QDir::Files).count()-1){ fileArray.append(","); }
fileCount++;
}
fileArray.append("]");
有关详细信息,请参阅QString::number(...)
静态方法的文档,从here开始。您将需要匹配qint64的变体,即qlonglong覆盖。
答案 2 :(得分:3)
更一般的回复,因为很多人来到这里试图找到标题中确切问题的答案:
QDateTime lm = QFileInfo(QFile(current)).lastModified();
qint64 epoch = lm.toMSecsSinceEpoch();
QString str = QString::number(epoch); // actual conversion