0

システム時刻が特定の値になっているかどうかを確認したい。時刻が午前 11 時 15 分かどうか、または時刻が午前 11 時より遅い場合に使用できます。

使ってみた

   CTime CurrentTime = CTime::GetCurrentTime();

しかし、それを比較する方法を理解できませんでした。

ありがとう

4

2 に答える 2

1

追加の CTime オブジェクトを使用します (ここ):

CTime CurrentTime=CTime::GetCurrentTime();

if(CurrentTime==CTime(2013,11,1,20,15,00))
{
    // Do that...
    Sleep(0);
}

ただし、タイムスパンと比較する方が常に安全です。

if((CurrentTime>CTime(2013,11,1,20,15,00))&&(CurrentTime<CTime(2013,11,1,20,15,05)))
{
    // Do that...
    Sleep(0);
}

その場合、私は5秒のスパンを取りました。通常、正確な時間に到達することはないため、2 番目の例の方が安全です。

少なくとも、11:00 を過ぎた時刻を知りたい場合は、質問に答えるために

if(CurrentTime>CTime(CurrentTime.GetYear(),CurrentTime.GetMonth(),CurrentTime.GetDay(),11,00,00))
{
   // Uhh yeah, past 11:00
}
于 2013-11-01T18:50:35.110 に答える
0

COleDateTime の方が好きです。時間は double として表されます。完全な数字は、それ以降の日数を表します。分数は時刻を表すため、0.5 は正午、0.75 は午後 6 時です...

計算しやすく、比較しやすい。COleDateTimeSpan ヘルパー クラスもあります。

于 2013-11-02T15:30:14.213 に答える