С другими типами я мог бы легко сделать что-то вроде
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.
Для этого вам нужно написать следующий код:
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(...)
статические методы для деталей, запуск Вот. Вам понадобится вариант, соответствующий qint64, который является переопределением qlonglong.
Вы, вероятно, ищете QString::number(qlonglong, int)
.
Более общий ответ, потому что многие люди приходят сюда, пытаясь найти ответ на точный вопрос в заголовке:
QDateTime lm = QFileInfo(QFile(current)).lastModified();
qint64 epoch = lm.toMSecsSinceEpoch();
QString str = QString::number(epoch); // actual conversion