6

Qt で 2 つの日付の間の日数を数えるプログラムを作成しようとしました。問題は、私が 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();
}

そして、次のような出力が得られます。

今日は「2012 年 12 月 18 日」 世界の終わりまでの日数: 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 に答える