1,QTime 获取当前时间

QTime t=QTime::currentTime();
QString str=t.toString("hh:mm:ss"); //时分秒 如:11:32:23
ui->label->setText(str);

2,QDate 获取当前日期

QDate d =  QDate::currentDate();
QString str=d.toString("yyyy-MM-dd"); //年月日 如:2018-01-01
ui->label->setText(str);

3,QDateTime 获取当前日期和时间(QDateTime = QDate+QTime)

QDateTime dateTime =QDateTime::currentDateTime();
QString str= dateTime.toString("yyyy/MM/dd hh:mm:ss "); //年月日 时分秒 如:2018-01-01 11:32:23
ui->label->setText(str);
//添加n天之后的日期,n可以为负数 为负数就是返回历史日期。
QDate QDate::addDays(qint64 ndays) const;
//添加n月之后的日期,n可以为负数
QDate QDate::addMonths(int nmonths) const;
//添加n年之后的日期,n可以为负数
QDate QDate::addYears(int nyears) const;

QDateTime转化为QString:

QDateTime dateTime =QDateTime::currentDateTime();
QString str = dateTime.toString("yyyy/MM/dd hh:mm:ss");//yyyy/MM/dd or hh:mm:ss 分开
ui->label->setText(str);

QString转化为QDateTime:

QString  str = "2018-12-12 12:23:23";
QDateTime dateTime2 =QDateTime::fromString(str,"yyyy-MM-dd hh:mm:ss");

QDateTime 重载了>,<,可以用于比较日期前后:

QDateTime  d1,d2;
if(d1>d2){}
QDateTime d11(QDate(2018,8,8),QTime(12,10,22,123)) //构造
QDate date() const;
QTime time() const;
qint64 daysTo(const QDateTime &) const; //比较天数差异
qint64 secsTo(const QDateTime &) const; //比较秒数差异
qint64 msecsTo(const QDateTime &) const; //比较毫秒数差异
int days = dEnd.daysTo(dStart);
int secs= dEnd.secsTo(dStart);
int msecs= dEnd.msecsTo(dStart);