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