获取当前时间是编程中常见的需求,而Qt库提供了方便易用的日期和时间处理类,包括QDateTime、QTime、QDate等。下面是获取当前时间的完整攻略:
QDateTime
QDateTime是Qt库中用于表示日期和时间的类,可以表示某个特定的日期和时间,也可以同时表示日期和时间。
首先需要包含头文件QDateTime:
#include <QDateTime>
然后可以使用静态成员函数currentDateTime()获取当前日期和时间:
QDateTime current = QDateTime::currentDateTime();
qDebug() << "Current date and time: " << current.toString(Qt::ISODate);
toString()函数用于将QDateTime转换为字符串,Qt::ISODate指定输出格式为ISO格式。
另外,也可以使用QDate和QTime分别获取当前日期和当前时间:
QDate currentDate = QDate::currentDate();
qDebug() << "Current date: " << currentDate.toString(Qt::ISODate);
QTime currentTime = QTime::currentTime();
qDebug() << "Current time: " << currentTime.toString(Qt::ISODate);
示例
下面是一个示例程序,演示了如何使用QDateTime获取当前日期和时间,并输出到控制台:
#include <QCoreApplication>
#include <QDebug>
#include <QDateTime>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QDateTime current = QDateTime::currentDateTime();
qDebug() << "Current date and time: " << current.toString(Qt::ISODate);
QDate currentDate = QDate::currentDate();
qDebug() << "Current date: " << currentDate.toString(Qt::ISODate);
QTime currentTime = QTime::currentTime();
qDebug() << "Current time: " << currentTime.toString(Qt::ISODate);
return a.exec();
}
输出结果为:
Current date and time: "2022-09-28T16:23:23"
Current date: "2022-09-28"
Current time: "16:23:23"
另外一个示例演示了如何将当前日期和时间转换为UNIX时间戳(即自1970年1月1日以来的秒数):
#include <QCoreApplication>
#include <QDebug>
#include <QDateTime>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QDateTime current = QDateTime::currentDateTime();
qint64 unixTimestamp = current.toSecsSinceEpoch();
qDebug() << "UNIX timestamp: " << unixTimestamp;
return a.exec();
}
输出结果为当前UNIX时间戳,如:
UNIX timestamp: 1669982651
这些示例演示了如何使用Qt的日期和时间处理类获取当前日期和时间,并将它们转换为不同的格式和类型。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:qt获取当前时间(QDateTime、QTime、QDate) - Python技术站