计算两个日期之间的天数

时间:2012-06-25 10:50:40

标签: qt qdatetime

我尝试用Qt创建一个程序来计算两个日期之间的天数。问题是我是Qt的新手而且我没有工作。

我猜QDateTime很简单,但我不了解程序的结构。

请有人为我举个例子。这是一个简单的程序,可以显示圣诞节前的天数。

2 个答案:

答案 0 :(得分:19)

你的问题非常简单。

在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(我推荐C++ GUI Programming with Qt 4 by Jasmin Blanchette & Mark Summerfield和Summerfields其他图书)。 祝你好运!

答案 1 :(得分:0)

你必须使用

qint64 QDateTime::toMSecsSinceEpoch () const

这会将日期时间作为自1970-01-01 00:00:00.000

以来经过的毫秒数返回

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