c++ 基于qt 5.6.1 将QString 2024-11-10 08:00:00 转为longlong
时间: 2024-12-14 21:15:51 浏览: 42
在Qt 5.6.1中,你可以使用`QDateTime`类将日期字符串转换为`QLongLong`类型的Unix时间戳(自1970年1月1日以来的秒数)。首先,你需要包含所需的头文件,并创建一个`QDateTime`对象来解析日期字符串,然后调用其`toMSecsSinceEpoch()`函数将其转换为毫秒,最后除以1000得到秒数。
这是一个示例代码片段:
```cpp
#include <QObject>
#include <QDateTime>
#include <QDate>
// 假设你有一个QString变量叫做dateStr,保存着 "2024-11-10 08:00:00" 的形式
QString dateStr = "2024-11-10 08:00:00";
// 解析日期字符串并创建QDateTime对象
QDateTime QDateTimeParser::parse(const QString &str)
{
return QDateTime::fromString(str, "yyyy-MM-dd HH:mm:ss");
}
// 将QDateTime转换为QLongLong
QLongLong convertToLongLong(QDateTime dateTime)
{
// 使用toMSecsSinceEpoch()获取毫秒数,然后除以1000得到秒数
return dateTime.toMSecsSinceEpoch() / 1000;
}
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QDateTime parsedDateTime = QDateTimeParser::parse(dateStr);
QLongLong timestamp = convertToLongLong(parsedDateTime);
qDebug() << "Timestamp in QLongLong format: " << timestamp;
return app.exec();
}
```
阅读全文
相关推荐














