欢迎光临
我们一直在努力

QT怎么判断两个日期时间的大小

这篇文章主要介绍“QT怎么判断两个日期时间的大小”,在日常操作中,相信很多人在QT怎么判断两个日期时间的大小问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”QT怎么判断两个日期时间的大小”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

qt判断两个日期大小不能转成int,因为日期过大时会超出int范围。

int 范围:-2,147,483,648 到 2,147,483,647

uint范围:0~4294967295

    int a = 2147483648;
    qDebug() << a;//-2147483648
 
    QDateTime time = QDateTime::fromTime_t(2147483647);
    QString dateStr = time.toString("yyyy-MM-dd hh:mm:ss");
    qDebug() << dateStr;//"2038-01-19 11:14:07"

int 最大范围值存放以上时间后的值是错误的。

以下为在网上搜到的比较方法:是错误的

错误示范

Qt 可直接将QDateTime转换成相同格式QString进行比较:

QString endDate = date.toString("yyyy-MM-dd");
QString currentDate = QDateTime::currentDateTime().toString("yyyy-MM-dd");
if (endDate < currentDate)
{
    qDebug()<<"已过期";
}

到此,关于“QT怎么判断两个日期时间的大小”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注香香云网站,小编会继续努力为大家带来更多实用的文章!

评论 抢沙发