当前位置: 代码迷 >> WinCE >> 两个时间字符串比较大小,该如何解决
  详细解决方案

两个时间字符串比较大小,该如何解决

热度:169   发布时间:2016-04-28 11:55:59.0
两个时间字符串比较大小
环境: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楼回复为正解,我按照这样开发过,可以进行比对的。
  相关解决方案