环境:wince+mfc
CString A = "2014-09-24 14:12:47";
CString B= "2014-09-24 14:16:47";
比较两个字符串的时间,B是否大于A 30秒钟,该怎么判断?
其中可能日期不同、或是具体的时间不同
------解决思路----------------------
unsigned long strtotime(char *date)
{
struct tm t;
unsigned long time;
sscanf(date,"%d-%d-%d",&t.tm_year,&t.tm_mon,&t.tm_mday);
t.tm_year-=1900;
t.tm_mon-=1;
t.tm_hour=0;
t.tm_min=0;
t.tm_sec=0;
time=mktime(&t); //转换
return time;
}
------解决思路----------------------
先将时间数据按照格式转化为16进制数值,在进行比较
比如,定义6个变量分别存放年月日、时分秒数据
年= 2014;
月=9;
日=24;
时=14;
分=12;
秒=47;
然后比较变量值就行,要注意进位与借位。
------解决思路----------------------
好像是没有什么好办法,只能转字符串转成数字
------解决思路----------------------
字符串转CTime,然后相减得到CTimeSpan, 判断GetTotalSeconds()是否大于30就可以了。
------解决思路----------------------
1楼回复为正解,我按照这样开发过,可以进行比对的。