Подсчет дней между двумя датами
Я попытался создать программу с Qt, которая будет подсчитывать, сколько дней между двумя датами. Проблема в том, что я новичок в Qt и у меня это не работает.
Похоже QDateTime
это легко, но я не понимаю структуру программы.
Может ли кто-нибудь сделать пример для меня. Просто простая программа, которая показывает, сколько дней, например, до Рождества.
2 ответа
Ваша проблема очень проста.
Создайте консольное приложение в 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++ (добавьте в любимую эту тему - Руководство и список книг Definitive C++), а затем - Qt (я рекомендую программирование на C++ с использованием Qt 4 от Jasmin Blanchette & Mark Summerfield и других книг Summerfields).). Удачи!
Вам придется использовать
qint64 QDateTime::toMSecsSinceEpoch () const
Возвращает дату и время как количество миллисекунд, прошедших с 1970-01-01 00:00:00.000
Так как нет возможности напрямую найти timeSpan. Преобразуйте ваши 2 объекта dateTime в миллисекунды, вычтите и конвертируйте в дни, часы, минуты, секунды, используя математические манипуляции.