6

我试图用 Qt 制作一个程序来计算两个日期之间的天数。问题是我是 Qt 的新手,我还没有让它工作。

我想QDateTime这很容易,但我不了解程序的结构。

有人可以为我举个例子吗。例如,只是一个简单的程序,显示距离圣诞节还有多少天。

4

2 回答 2

21

你的问题很简单。

在 QtCreator 中创建控制台应用程序,并以main.cpp这种方式进行编辑:

#include <QApplication>
#include <QDate>
#include <QDebug>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    // get current date
    QDate dNow(QDate::currentDate());
    // create other date
    //  by giving date 12.21.2012 (joke about end of the world)
    QDate dEndOfTheWorld(2012, 12, 21);
    qDebug() << "Today is" << dNow.toString("dd.MM.yyyy")
             << "Days to end of the world: "
             << dNow.daysTo(dEndOfTheWorld);

    return a.exec();
}

你会得到如下输出:

今天是“18.12.2012”距离世界末日的天数:3

PS但我对你的建议是学习 C++(添加到你最喜欢的这个主题——The Definitive C++ Book Guide and List),然后学习 Qt(我推荐Jasmin Blanchette & Mark Summerfield 的 C++ GUI Programming with Qt 4和 Summerfields 的其他书籍)。祝你好运!

于 2012-12-18T16:27:28.283 回答
0

你将不得不使用

qint64 QDateTime::toMSecsSinceEpoch () const

这将日期时间返回为自 1970-01-01 00:00:00.000 以来经过的毫秒数

因为没有办法直接找到timeSpan。将您的 2 个 dateTime 对象转换为毫秒,使用数学运算减去并转换为天、小时、分钟、秒。

于 2012-06-25T10:56:33.427 回答