QT 获取文件修改时间
时间: 2023-10-08 18:09:31 浏览: 134
你可以使用 QFileInfo 类来获取文件的修改时间。以下是一个示例代码:
```c++
#include <QFileInfo>
#include <QDateTime>
int main()
{
QFileInfo fileInfo("test.txt"); // 文件名
QDateTime lastModified = fileInfo.lastModified(); // 获取修改时间
qDebug() << lastModified.toString("yyyy-MM-dd hh:mm:ss"); // 输出修改时间
return 0;
}
```
在这个示例代码中,我们首先创建了一个 QFileInfo 对象来表示文件信息,其中传入文件名作为参数。然后,我们调用 QFileInfo 对象的 lastModified() 函数获取文件的修改时间,返回一个 QDateTime 对象。最后,我们使用 QDateTime 对象的 toString() 函数将修改时间格式化为字符串并输出。
相关问题
QT 获取文件时间顺序
您可以使用QFileInfo类来获取文件的时间属性,例如文件的创建时间、修改时间和访问时间。以下是一个示例代码,展示如何获取文件列表并按修改时间排序:
```cpp
#include <QCoreApplication>
#include <QDir>
#include <QFileInfo>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QDir dir("C:/SomeDirectory"); // 指定目录路径
dir.setSorting(QDir::Time); // 按时间排序
QFileInfoList fileInfoList = dir.entryInfoList();
for (int i = 0; i < fileInfoList.size(); ++i) {
QFileInfo fileInfo = fileInfoList.at(i);
qDebug() << fileInfo.fileName() << " - " << fileInfo.lastModified().toString("yyyy-MM-dd hh:mm:ss");
}
return a.exec();
}
```
此代码将打印出指定目录下的所有文件名和修改时间,并按时间顺序排列。
获取文件最后修改时间 qt
你可以使用QFileInfo类来获取文件的最后修改时间,具体步骤如下:
1. 创建QFileInfo对象并指定文件路径,例如:
```
QFileInfo fileInfo("/path/to/file.txt");
```
2. 使用QFileInfo::lastModified()函数获取文件的最后修改时间,例如:
```
QDateTime lastModified = fileInfo.lastModified();
```
上面的代码会返回一个QDateTime对象,表示文件的最后修改时间。
3. 如果你只需要获取时间戳(即Unix时间),可以使用QDateTime::toSecsSinceEpoch()函数,例如:
```
qint64 timestamp = lastModified.toSecsSinceEpoch();
```
上面的代码会返回一个qint64类型的时间戳,表示文件的最后修改时间(以秒为单位)。
注意:在使用QFileInfo类时,需要包含头文件#include <QFileInfo>。