Qt and QDateTime comparing

Qt and QDateTime comparing

本文关键字:comparing QDateTime and Qt      更新时间:2023-10-16

我有一个问题qt qdatetime比较

if(now.secsTo(nearest)>0)

总是显示相同的数字。

QDateTime now = QDateTime::currentDateTime();
QDateTime nearest = QDateTime::fromString(ui.timetableTable->item(0,2)->data(Qt::DisplayRole).toString(),"dd.MM.yy HH:mm");

我怎样才能得到比较两个日期的正确结果?谢谢你的帮助!

  1. 当使用QDateTime::fromString()时,默认值被分配给格式字符串中没有提供的任何字段。

  2. 在您的情况下,当将"yy"作为年份格式传递时,年份的默认值是1900 + "yy"字段中传递的值。例子:

     QDateTime nearest = QDateTime::fromString("02.07.15 12:15","dd.MM.yy
     HH:mm");    
     qDebug()<< nearest; //Will give: QDateTime("1915-07-02 12:15:00.000)
    
  3. 可通过QDateTime::addYears()修改默认值。对于上面的例子:

     nearest = nearest.addYears(100);