我尝试用Qt创建一个程序来计算两个日期之间的天数。问题是我是Qt的新手而且我没有工作。
我猜QDateTime
很简单,但我不了解程序的结构。
请有人为我举个例子。这是一个简单的程序,可以显示圣诞节前的天数。
答案 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对象转换为毫秒,使用数学操作减去并转换为天,小时,分钟,秒。