qt获取当前时间(QDateTime、QTime、QDate)
一、时间日期类型:
- QTime:时间数据类型,表示时间,如:14:23:13。
- QDate:日期数据类型,表示日期,如:2020-4-5。
- QDateTime:日期时间数据类型,表示日期和时间,如:2020-03-23 08:12:43。
QDateTime:
QDateTime dateTime= QDateTime::currentDateTime();//获取系统当前的时间
QString str = dateTime .toString("yyyy-MM-dd hh:mm:ss");//格式化时间
QString转化为QDateTime:
QString str= "2020-11-02 12:24:36";
QDateTime time = QDateTime::fromString(str, "yyyy-MM-dd hh:mm:ss");
字符串转换为 QTime、QDate 、 QDateTime 类型,使用静态函数 QDateTime::fromString(),其函数原型为: QDateTime QDateTime::fromString(const QString &string, const QString &fORMat)
第 1 个参数 string 是日期时间字符串形式,第 2 个参数 format 是字符串表示的格式
当前时间转化为时间戳:
QDateTime time= QDateTime::currentDateTime();//获取系统当前的时间
uint nTime = time.toTime_t();
时间戳转化为当前时间:
//这个方法是静态的
QDateTime time = QDateTime::fromTime_t(timeT);
二、 qt中用于时间、日期编辑和显示的界面组件
- QTimeEdit:编辑和显示时间的组件。
- QDateEdit:编辑和显示日期的组件。
- QDateTimeEdit:编辑和显示日期时间的组件。
- QCalendarWidget:用日历形式选择日期的组件。
//获取当前日期时间,设置日期时间数据,并转换为字符串
QDateTime curDateTime=QDateTime::currentDateTime();
ui->timeEdit->setTime(curDateTime.time());
ui->editTime->setText (curDateTime.toString ("hh:mm:ss));
ui->dateEdit->setDate(curDateTime.date());
ui->editDate->setText(curDateTime.toString("yyyy-MM-dd"));
ui->dateTimeEdit->setDateTime(curDateTime);
ui->editDateTime->setText(curDateTime.toString("yyyy-MM-dd hh:mm:ss"))
QDateEdit 和 QTimeEdit 都是从 QDateTimeEdit 继承的,实现日期或时间的特定显示功能。实际上,QDateEdit 和 QTimeEdit 的显示功能都可以通过 QDateTimeEdit 实现,只需设置属性即可。
QDateTimeEdit 类的主要属性如下:
- datetime:日期时间。
- date:日期,设置 datetime 时会自动改变 date,同样,设置 date 时,也会自动改变 datetime 里的日期。
- time:时间,设置 datetime 时会自动改变 time,同样,设置 time 时,也会自动改变 datetime 里的时间。
- maximumDateTime、 minimumDateTime:最大、最小日期时间。
- maximumDate、minimumDate:最大、最小日期。
- maximumTime、minimumTime:最大、最小时间。
- currentSection:当前输入光标所在的时间日期数据段,是枚举类型 QDateTimeEdit::Section。QDateTimeEdit 显示日期时间数据时分为多个段,单击编辑框右侧的上下按钮可修改当前段的值。如输入光标在YearSection段,就修改“年”的值。
- currentSectionIndex:用序号表示的输入光标所在的段。
- calendarPopup:是否允许弹出一个日历选择框。当取值为 true 时,右侧的输入按钮变成与 QComboBox 类似的下拉按钮,单击按钮时出现一个日历选择框,用于在日历上选择日期。对于 QTimeEdit,此属性无效。
- displayFormat:显示格式,日期时间数据的显示格式,例如设置为“yyyy-MM-dd HH:mm:ss”,一个日期时间数据就显示为“2020-11-02 08:23:46”。
用于时间日期显示的格式化字符说明:
表达式 | 说明 |
---|---|
d | 天,不补零显示,1-31 |
dd | 天,补零显示,01-31 |
M | 月,不补零显示,1-12 |
MM | 月,补零显示,01-12 |
yy | 年,两位显示,00-99 |
yyyy | 年,4位数字显示,如 2020 |
h | 小时,不补零,0-23 或 1-12 (如果显示 AM/PM) |
hh | 小时,补零2位显示,00-23 或 01-12 (如果显示 AM/PM) |
H | 小时,不补零,0-23 (即使显示 AM/PM) |
HH | 小时,补零显示,00-23 (即使显示 AM/PM) |
m | 分钟,不补零,0-59 |
mm | 分钟,补零显示,00-59 |
z | 毫秒,不补零,0-999 |
zzz | 毫秒,补零 3 位显示,000-999 |
AP或A | 使用 AM/pm 显示 |
ap或a | 使用 am/pm 显示 |
到此这篇关于qt获取当前时间(QDateTime、QTime、QDate)的文章就介绍到这了,更多相关qt获取当前时间内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关文章