要实现下面的效果,有更简洁的代码吗?解决思路
要实现下面的效果,有更简洁的代码吗?
检测当前时间 如果 >= 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); 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
------解决方案--------------------
------解决方案--------------------