📜  qt epoch 到 datetime sting (1)

📅  最后修改于: 2023-12-03 15:04:44.205000             🧑  作者: Mango

从 Qt Epoch 到 DateTime String

在编程中我们有时会遇到需要将时间戳(如 Unix 时间戳)转换为可读的日期时间字符串的情况。Qt 中也提供了一些工具来处理时间戳和日期时间字符串之间的转换。

简介

在 Qt 中,时间戳是以自 1970 年 1 月 1 日午夜(格林威治标准时间)以来过去的秒数来表示的。这也被称为 Unix 时间戳。Qt 还提供了一些特定于时区的类和函数,例如 QDateTimeQDateQTime

从 Qt Epoch 到 DateTime String

要将 Qt Epoch 转换为日期时间字符串,您可以使用 QDateTime 类或一些相关函数。下面是一些示例:

QDateTime dateTime;
dateTime.setSecsSinceEpoch(0); // 从 Qt Epoch 开始
QString dateTimeString = dateTime.toString(Qt::ISODate); // "1970-01-01T00:00:00"
QDateTime dateTime;
dateTime.setSecsSinceEpoch(1483228800); // 2017 年 1 月 1 日 0 点钟
QString dateTimeString = dateTime.toString(Qt::ISODate); // "2017-01-01T00:00:00"
qint64 seconds = 1483228800;
QString dateTimeString = QDateTime::fromSecsSinceEpoch(seconds).toString(Qt::ISODate); // "2017-01-01T00:00:00"
从 DateTime String 到 Qt Epoch

要将日期时间字符串转换为 Qt Epoch,您可以使用 QDateTime 类或 QDateTime::fromString() 函数。下面是一些示例:

QString dateTimeString = "1970-01-01T00:00:00";
QDateTime dateTime = QDateTime::fromString(dateTimeString, Qt::ISODate);
qint64 seconds = dateTime.toSecsSinceEpoch(); // 0,Qt Epoch 开始
QString dateTimeString = "2017-01-01T00:00:00";
QDateTime dateTime = QDateTime::fromString(dateTimeString, Qt::ISODate);
qint64 seconds = dateTime.toSecsSinceEpoch(); // 1483228800,2017 年 1 月 1 日 0 点钟
总结

在 Qt 中,您可以使用 QDateTime 类和一些相关函数轻松地将 Qt Epoch 和日期时间字符串之间进行转换。使用示例中的代码片段,您可以更轻松地处理时间戳和日期时间字符串的转换,在需要处理这种转换的项目中更加便利。