找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 1176|回复: 7

两个时间如何做比较?

[复制链接]
发表于 2009-11-3 03:19:08 | 显示全部楼层 |阅读模式 IP:江苏扬州
两个时间如何做比较是否相等,大于,小于?
如果定义一个时间变量 ?
发表于 2009-11-3 03:19:09 | 显示全部楼层 IP:江苏扬州
可以用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:10 | 显示全部楼层 IP:江苏扬州
时间包括:年(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:11 | 显示全部楼层 IP:江苏扬州
晕,wfpb,c语言本身就支持时间结构,而time_t里面包括了所有时间信息,并且存在一个long中,也比较好比较,何必自己写呢
回复

使用道具 举报

发表于 2009-11-3 03:19:12 | 显示全部楼层 IP:江苏扬州
如果定义一个时间变量 ?
我以为他说自己定义一个时间变量
回复

使用道具 举报

发表于 2009-11-3 03:19:13 | 显示全部楼层 IP:江苏扬州
麻烦各位了,偶是VB转过来的,所以学VC很有问题~哈哈

我在MFC中建了一个时间控件,关连了一个变量:dtTime
我看了一下,dtTime是COleDateTime类型,如果比较dtTime和当前时间是否相等?
回复

使用道具 举报

发表于 2009-11-3 03:19:14 | 显示全部楼层 IP:江苏扬州
假如你现在有个时间COleDateTime dtTime,其中已经有了时间信息,那么定义一个
COleDateTime t1 = COleDateTime::GetCurrentTime();
可以直接用if (t1 == dtTime)对两者进行比较
回复

使用道具 举报

发表于 2009-11-3 03:19:15 | 显示全部楼层 IP:江苏扬州
OK 啦~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 13:29 , Processed in 0.116167 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表