• 8234阅读
  • 7回复

[提问]对于QT4.7.1中日期比较的问题 [复制链接]

上一主题 下一主题
离线淳于半邪
 

只看楼主 倒序阅读 楼主  发表于: 2012-02-02
关键词: 日期问题比较
eg: 2012-2-2  开始时间
         2012-2-17 结束时间
        直接比较的话是前者大于后者不符合实际
        难道要把年月日拆开一个一个的比较么?
        求解更好的方法
离线uidab

只看该作者 1楼 发表于: 2012-02-02
回 楼主(淳于半邪) 的帖子
用QDate 直接有转换成 dayOfYear
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线cutemmll
只看该作者 2楼 发表于: 2012-02-02
QDate已经重载了 > >= < <= 等运算符。
也就是说可以用下面的代码进行比较
  1.     QDate date1(2012,1,2);
  2.     QDate date2(2012,2,17);
  3.     if(date1 < date2)
  4.     {
  5.         //to do...
  6.     }



c------------enjoy qt & enjoy life-----------++
离线淳于半邪

只看该作者 3楼 发表于: 2012-02-02
回 2楼(cutemmll) 的帖子

原图如上 : 判断时出错
代码如下:初始化都取当前的日期
    validateedit= new QDateEdit(this);
    validateedit->setDate(QDate::currentDate()) ;

    datetimeedit= new QDateEdit(this);
    datetimeedit->setDate(QDate::currentDate()) ;
离线cutemmll
只看该作者 4楼 发表于: 2012-02-02
你咋个判断的??
应该是下面这个样子。
  1.     if(validateedit->date() < datetimeedit->date())
  2.     {
  3.         //to do
  4.     }



c------------enjoy qt & enjoy life-----------++
离线jdwx

只看该作者 5楼 发表于: 2012-02-02
引用第2楼cutemmll于2012-02-02 13:23发表的  :
QDate已经重载了 > >= < <= 等运算符。
也就是说可以用下面的代码进行比较
[code]    QDate date1(2012,1,2);
    QDate date2(2012,2,17);
.......

QData已经有<、>可用了,比较大小不会有问题。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线淳于半邪

只看该作者 6楼 发表于: 2012-02-02
回 4楼(cutemmll) 的帖子
我之前把它转成字符串来比较了,所以。。。
现在可以了,谢谢!
离线淳于半邪

只看该作者 7楼 发表于: 2012-02-02
回 5楼(jdwx) 的帖子
直接比较是没有问题的,我之前把他转换成字符串了,经你们提示发现了这个错误
谢谢帮助!
快速回复
限100 字节
 
上一个 下一个