- 类QDate提供年月日的日期信息;
- 类QTime提供时分秒的时间信息;
- 类QDateTime是类QDate和类QTime的相结合,它可以从系统时钟中读取当前日期时间。它提供比较日期时间和操作日期时间的函数,比如加上一定数量的秒、天、月或年。
- 类QLocale是用来指示语言区域的;
再说几个关于时间的常见概念:
- “UTC”:Universal Time Coordinated 协调世界时,又称世界标准时间;
- “GMT”:Greenwich Mean Time 格林尼治平均时,UTC和GMT都与英国伦敦的本地时相同,所以程序中UTC与GMT没什么不同。意思UTC=GMT是相等的,大约差0.9。
- “TimeStamp”时间戳:UTC时间从(1970年01月01日 0:00:00)开始计算的秒数。
toTime_t()、 fromTime_t()、Qt::SystemLocaleShortDate and Qt::SystemLocaleLongDate已经被Qt弃用,在qt6中有替代函数。
#include <QCoreApplication>
#include <QDateTime>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
qInfo() <<"--------------------------QDate----------------------------------";
QDate today = QDate::currentDate();
qInfo() << "ISODate" << today.toString(Qt::DateFormat::ISODate);
qInfo() << "RFC2822Date" << today.toString(Qt::DateFormat::RFC2822Date);
qInfo() << "ISODateWithMs" << today.toString(Qt::DateFormat::ISODateWithMs);
qInfo() <<"--------------------------QTime----------------------------------"; QTime today_t = QTime::currentTime();
qInfo() << "ISODate" << today_t.toString(Qt::DateFormat::ISODate);
qInfo() << "RFC2822Date" << today_t.toString(Qt::DateFormat::RFC2822Date);
qInfo() << "ISODateWithMs" << today_t.toString(Qt::DateFormat::ISODateWithMs);
qInfo() <<"--------------------------QDateTime----------------------------------";
QDateTime today_dt = QDateTime::currentDateTime();
qInfo() << "ISODate" << today_dt.toString(Qt::DateFormat::ISODate);
qInfo() << "RFC2822Date" << today_dt.toString(Qt::DateFormat::RFC2822Date);
qInfo() << "ISODateWithMs" << today_dt.toString(Qt::DateFormat::ISODateWithMs);
qInfo() << "TextDate" << today_dt.toString(Qt::DateFormat::TextDate);
qInfo() << "GMT=UTC" << today_dt.toUTC().toString();
qInfo() << "LocalTime=UTC + 时区差" << today_dt.toLocalTime().toString();
qInfo() << "后一天" << today_dt.addDays(1).toString("yyyy-MM-dd hh:mm:ss");
qInfo() << "前一天" << today_dt.addDays(-1).toString("yyyy-MM-dd hh:mm:ss");
qInfo() << "后一年" << today_dt.addYears(1).toString("yyyy-MM-dd hh:mm:ss");
qInfo() << "Time" << today_dt.toString("yyyy-MM-dd hh:mm:ss");
qInfo() << "Time2" << today_dt.toString("yyyy/MM/dd hh:mm:ss");
qInfo() << "To时间戳(UTC时间戳)" << today_dt.toSecsSinceEpoch();//qt5 toTime_t()
qInfo() << "From时间戳(UTC时间戳)" << today_dt.fromSecsSinceEpoch(1629105875).toString("yyyy-MM-dd hh:mm:ss");//qt5 fromTime_t()
qInfo() <<"--------------------------QLocale----------------------------------";
//The format options Qt::SystemLocaleDate,
//Qt::SystemLocaleShortDate and Qt::SystemLocaleLongDate
//shall be removed in Qt 6.
QLocale lo = QLocale::English;
qInfo() <<"QLocale::ShortFormat"<<lo.toString(today_dt, QLocale::ShortFormat);
qInfo() <<"QLocale::LongFormat"<<lo.toString(today_dt, QLocale::LongFormat);
qInfo() <<"QLocale Standard"<<lo.toString(today_dt,"yyyy/MM/dd ddd");
return a.exec();
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/96477.html