Qt で 2 つの日付の間の日数を数えるプログラムを作成しようとしました。問題は、私が Qt の初心者であり、動作していないことです。
簡単だと思いQDateTime
ますが、プログラムの構造がわかりません。
誰かが私の例を作ってくれませんか。たとえば、クリスマスまであと何日かを表示する単純なプログラムです。
あなたの問題は非常に単純です。
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 の他の本をお勧めします)。 )。幸運を!
使用する必要があります
qint64 QDateTime::toMSecsSinceEpoch () const
これは、1970-01-01 00:00:00.000 から経過したミリ秒数として日時を返します。
timeSpan を直接見つける方法がないためです。2 つの dateTime オブジェクトをミリ秒に変換し、減算して数学的操作を使用して日、時間、分、秒に変換します。