要实现下面的效果,有更简洁的代码吗?解决思路

要实现下面的效果,有更简洁的代码吗?
C/C++ code

#include <windows.h>

int main()
{
  SYSTEMTIME date; 
  GetLocalTime(&date);

  if(date.wYear >= 2012 && date.wMonth >= 2 && date.wDay>=7)   
  DeleteFile ("d:\\1.txt");

  return 0;
}


检测当前时间 如果 >= 2012.2.7 执行程序 ,但不排除特殊原因 有的时候 电脑好几天不开机 假如2012.3.2 开机了 上面的代码就不起作用了 。 我换成了下面的,没测试 我想应该可以了 但感觉很繁琐,有没有更短的代码来判断?

if ((date.wYear >= 2012 && date.wMonth >= 2 && date.wDay >= 7) || (date.wYear >= 2012 && date.wMonth > 2) )

------解决方案--------------------
if(date.wYear >= 2012 && date.wMonth >= 2 && date.wDay>=7) 这个条件有bug,假如2013年2月2号,貌似就不执行了吧。可以换成其他的时间表示方式。比如什么time_t等等。
------解决方案--------------------
用struct tm 和time_t就可以了

------解决方案--------------------
你可以这样
 long number=date.wYear*100+date.wMonth*10+date.wDay;
if(long>201227)
{
  
}
------解决方案--------------------
C/C++ code

#include <windows.h>
int main()
{
  SYSTEMTIME date; 
  GetLocalTime(&date);
  int tmp_num = date.wYear * 10000 + date.wMonth * 100 + date.wDay;
  if(tmp_num > 20120207)
  DeleteFile ("d:\\1.txt");
  return 0;
}

------解决方案--------------------
用CTime
------解决方案--------------------
探讨

用struct tm 和time_t就可以了

------解决方案--------------------
探讨
楼上的说的对哦。。谢谢了 刚才怎么没想到呢。。

我改成下面的应该可以了吧
if ((date.wYear >= 2012 &amp;&amp; date.wMonth >= 2 &amp;&amp; date.wDay >= 7) || (date.wYear >= 2012 &amp;&amp; date.wMonth > 2) || (date.wYear > 2012) )

……