Qt DateTimeEdit(时间⽇期的微调框)

发布于:2025-05-30 ⋅ 阅读:(38) ⋅ 点赞:(0)

使⽤ QDateEdit 作为⽇期的微调框.
居中
使⽤ QTimeEdit 作为时间的微调框
在这里插入图片描述
使⽤ QDateTimeEdit 作为时间⽇期的微调框.

这⼏个控件⽤法⾮常相似, 我们以 QDateTimeEdit 为例进⾏介绍.

QDateTimeEdit 核⼼属性

属性 说明
dateTime 时间⽇期的值. 形如 2000/1/1 0:00:00
date 单纯⽇期的值. 形如 2001/1/1
time 单纯时间的值. 形如 0:00:00
displayFormat 时间⽇期格式.
形如 yyyy/M/d H:mm
• y 表⽰年份
• M 表⽰⽉份
• d 表⽰⽇期
• H 表⽰⼩时
• m 表⽰分钟
• s 表⽰秒
注意: 这⾥的格式化符号的含义, 不要记忆. 不同语⾔/库的设定规则是存在差异的. ⼀定是⽤的时候再去查.
minimumDateTime 最⼩时间⽇期
maximumDateTime 最⼤时间⽇期
timeSpec
• Qt::LocalTime :显⽰本地时间。
• Qt::UTC :显⽰协调世界时(UTC)。
• Qt::OffsetFromUTC :显⽰相对于UTC的偏移量(时差).

关于 本地时间(LocalTime) 和 协调世界时(UTC)

UTC 时间是⼀个基于原⼦钟的标准时间. 不受地球的⾃转周期影响. 和格林威治时间 (GMT) 是
⾮常接近的. 科学家会通过精密的设备来测量并维护.咱们的计算机内部使⽤的时间就是基于 UTC 时间.

本地时间则是基于不同的时区, 对 UTC 时间做出了⼀些调整. ⽐如咱们使⽤的北京时间, 位于
“东⼋区”, 就需要在 UTC 时间基础上 +8 个⼩时的时差.

核⼼信号

信号 说明
dateChanged(QDate) ⽇期改变时触发.
timeChanged(QTime) 时间改变时触发.
dateTimeChanged(QDateTime) 时间⽇期任意⼀个改变时触发.

在这里插入图片描述

QDateTime datetime_1 = ui->dateTimeEdit->dateTime();
    QDateTime datetime_2 = ui->dateTimeEdit_2->dateTime();
    // 日期差
    //int day = datetime_1.daysTo(datetime_2); // 不足一天,当一天
    // 秒差 把年月日时分秒的差换成秒
    int s = datetime_1.secsTo(datetime_2);
    int day = s/(60*60*24);
    int h = (s%(60*60*24))/(60*60);
    ui->label->setText(QString::number(day) + "天 " + QString::number(h) + "小时");

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到