我想检查系统时间是否为特定值。如果时间是上午11点15分,或者如果时间晚于上午11点我可以使用。
我尝试使用
CTime CurrentTime = CTime::GetCurrentTime();
但无法弄清楚如何比较它。
由于
答案 0 :(得分:1)
使用其他CTime对象(Here):
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秒钟。通常你永远不会达到准确的时间,所以第二个例子更安全。
至少,回答你的问题,如果你想知道它的过去11点何时
if(CurrentTime>CTime(CurrentTime.GetYear(),CurrentTime.GetMonth(),CurrentTime.GetDay(),11,00,00))
{
// Uhh yeah, past 11:00
}
答案 1 :(得分:0)
我更喜欢COleDateTime。时间表示为双倍。 全数代表自以往的日子。分数表示一天中的时间,因此0.5中午0.75是下午6点......
易于计算且易于比较。还有一个COleDateTimeSpan助手类。