qt 时间戳转换日期格式
时间: 2023-09-01 20:11:18 浏览: 82
可以使用 QDateTime 类的 fromTime_t() 和 toString() 函数来实现时间戳转换日期格式。具体实现方法如下:
```c++
#include <QCoreApplication>
#include <QDateTime>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 定义当前时间戳
qint64 timestamp = QDateTime::currentDateTime().toSecsSinceEpoch();
// 从时间戳创建 QDateTime 对象
QDateTime dateTime;
dateTime = dateTime.fromTime_t(timestamp);
// 按指定格式将 QDateTime 对象转换为字符串
QString str = dateTime.toString("yyyy-MM-dd hh:mm:ss");
qDebug() << str;
return a.exec();
}
```
上述代码会将当前时间戳转换为格式化字符串并输出在终端上,输出结果如下:
```
"2021-10-23 16:23:42"
```
相关问题
qt时间戳转换yyyymmddhhmmss
在Qt中,可以使用QDateTime类来进行时间戳和时间之间的转换。下面是一个示例代码,演示了如何将时间戳转换为指定格式的时间字符串:
```cpp
#include <QDateTime>
QString timestampToDateTime(qint64 timestamp)
{
QDateTime dateTime;
dateTime.setSecsSinceEpoch(timestamp);
QString str = dateTime.toString("yyyyMMddhhmmss");
return str;
}
```
在这个示例中,我们定义了一个函数`timestampToDateTime`,它接受一个时间戳作为参数,并返回一个格式为"yyyyMMddhhmmss"的时间字符串。
你可以在你的项目中调用这个函数来实现时间戳转换为指定格式的时间字符串。
Qt Unix时间戳转换为日期时间格式
好的,我了解。关于您的问题,您可以使用QDateTime类的fromSecsSinceEpoch()函数将Unix时间戳转换为日期时间格式,示例代码如下:
```cpp
#include <QDateTime>
int unixTimestamp = 1633122659; // 以1633122659为例
QDateTime dateTime;
dateTime = dateTime.fromSecsSinceEpoch(unixTimestamp);
QString dateTimeString = dateTime.toString(Qt::ISODate);
qDebug() << "Unix timestamp:" << unixTimestamp;
qDebug() << "DateTime string:" << dateTimeString;
```
这段代码将Unix时间戳1633122659转换为日期时间格式,并输出结果:
```
Unix timestamp: 1633122659
DateTime string: 2021-10-01T07:50:59
```
希望这能帮到您。如果您还有其他问题,请继续问我。