新微赢技术网

标题: 两个时间如何做比较? [打印本页]

作者: 陈君    时间: 2009-11-3 03:19
标题: 两个时间如何做比较?
两个时间如何做比较是否相等,大于,小于?
如果定义一个时间变量 ?
作者: ぱホ    时间: 2009-11-3 03:19
可以用time_t来定义一个时间变量,time_t本身是long类型,可以直接用来比较,如果要知道详细的时分秒,可以转成tm结构

  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <windows.h>
  4. void main()
  5. {
  6. time_t t1;
  7. time(&t1);
  8. Sleep(1000);
  9. time_t t2;
  10. time(&t2);
  11. if (t2 > t1)
  12. {
  13. printf("t2 > t1\n");
  14. }
  15. else
  16. {
  17. printf("t2 <= t1\n");
  18. }
  19. printf("the t1 is %s\n", ctime(&t1));
  20. printf("the t2 is %s\n", ctime(&t2));
  21. }

复制代码

作者: 云-飘天涯    时间: 2009-11-3 03:19
时间包括:年(2006),月(12),日(31),小时(24),分钟(59),秒(59)
那么可以把年2006看做是20和06(即6)两个字节,后面都看成一个字节,由于这里面每个数字都可以表示成字符,所以把这些都表示成字符,然后连接起来成为字符串,一顺往后比较,理解字符串比较的意思,就应该理解我说的意思~
你可以定义
class MyTime
{
int year;
int month,day,hour,minute,second;
char *time;
public:
MyTime(int y,int mo,int d,int h,int mi,int s,)
:year(y),month(mo),day(d),hour(h),minute(mi),second(s)
{
time=new char[8];
time[0]=char(year/100);time[1]=char(year%100);time[2]=char(month);
time[3]=char(day);time[4]=char(hour);time[5]=char(minute);
time[6]=char(second);time[7]='\0';
}
friend int TimeCmp(const &time1,const &time2)
{
return strcmp(time1.time,time2.time);
}
};
不知道是否可行
作者: 天语悠悠    时间: 2009-11-3 03:19
晕,wfpb,c语言本身就支持时间结构,而time_t里面包括了所有时间信息,并且存在一个long中,也比较好比较,何必自己写呢
作者: Yaci    时间: 2009-11-3 03:19
如果定义一个时间变量 ?
我以为他说自己定义一个时间变量
作者: 祗↘爲.輝仔    时间: 2009-11-3 03:19
麻烦各位了,偶是VB转过来的,所以学VC很有问题~哈哈

我在MFC中建了一个时间控件,关连了一个变量:dtTime
我看了一下,dtTime是COleDateTime类型,如果比较dtTime和当前时间是否相等?
作者: ︶ぺ雨湮ㄣ    时间: 2009-11-3 03:19
假如你现在有个时间COleDateTime dtTime,其中已经有了时间信息,那么定义一个
COleDateTime t1 = COleDateTime::GetCurrentTime();
可以直接用if (t1 == dtTime)对两者进行比较
作者: 玩QQ名字千万    时间: 2009-11-3 03:19
OK 啦~




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2