2012-06-25 6 views
4

Я попытался сделать программу с Qt, которая подсчитывает, сколько дней между двумя датами. Проблема в том, что я новичок в Qt, и у меня нет работы.Подсчет дней между двумя датами

Я думаю, QDateTime легко, но я не понимаю структуру программы.

Может ли кто-нибудь, пожалуйста, привести пример для меня. Просто простая программа, которая показывает, сколько дней это до Рождества, например.

+3

Что вы пробовали? Вы читали руководства Qt из официальной документации Qt? –

+1

Вы просмотрели все [примеры] (http://doc.qt.nokia.com/4.7-snapshot/all-examples.html), предоставленные Qt уже? –

ответ

0

Вы должны будете использовать

qint64 QDateTime::toMSecsSinceEpoch() const 

Это возвращает DateTime как количество миллисекунд, прошедших с момента 1970-01-01 00: 00: 00,000

Поскольку не существует никакого способа напрямую найти время. Преобразуйте 2 объекта dateTime в миллисекунды, вычитайте и преобразуйте их в дни, часы, минуты, секунды, используя математические манипуляции.

+0

Спасибо! Но моя основная проблема - это структура программы. Различные различные файлы и т. Д. Как сделать программу с помощью qtcreator, например, для Nokia N9 ... – Sep

16

Ваша проблема очень проста.

Создание консольного приложения в 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 dEndOfTheWord(2012, 12, 21); 
    qDebug() << "Today is" << dNow.toString("dd.MM.yyyy") 
      << "Days to end of the world: " 
      << dNow.daysTo(dEndOfTheWord); 

    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 другие книги). Удачи!

Смежные вопросы