原帖地址:https://blog.csdn.net/panchang199266/article/details/103773295
1、用于日期显示的格式符及其意义
字符 | 意义 |
---|---|
yy | 年,两位显示,00-99 |
yyyy | 年,四位显示,如2016 |
M | 月,不补零显示,1-12 |
MM | 月,补零显示,01-12 |
d | 天,不补零显示,1-31 |
dd | 天,补零显示,01-31 |
h | 小时,不补零,0-23或1-12(如果显示AM/PM) |
hh | 小时,补零2位显示,00-23或01-12(如果显示AM/PM) |
H | 小时,不补零,0-23或1-12(即使显示AM/PM) |
HH | 小时,补零2位显示,00-23或01-12(即使显示AM/PM) |
m | 分钟,不补零,0-59 |
mm | 分钟,补零显示,00-59 |
z | 毫秒,不补零,0-999 |
zzz | 毫秒,补零3位显示,000-59 |
AP或A | 使用 AM/PM 显示 |
ap或a | 使用 am/pm 显示 |
2、日期转字符串
获取当前时间:QDateTime::currentDateTime()
转换方法:QDateTime#toString(timeFormat)
void MyWidget::on_btnGetTime_clicked(){ //获取当前时间 QDateTime currentDateTime = QDateTime::currentDateTime(); //转换成字符串显示 ui->editTime->setText(currentDateTime.toString("hh:mm:ss")); ui->editDate->setText(currentDateTime.toString("yyyy-MM-dd")); ui->editDateTime->setText(currentDateTime.toString("yyyy-MM-dd hh:mm:ss"));}
备注:在设置日期字符串格式时,还可以使用填字符,甚至使用汉字。例如,日期显示格式可以设置为:currentDateTime.toString(“yyyy年MM月dd日”),这样得到的字符串就是“2019年12月30日”。
3、字符串转日期
转换方法:QQDateTime::fromString(dateTimeStr, "yyyy-MM-dd hh:mm:ss")
void MyWidget::on_pushButton_4_clicked(){ QString dateTimeStr = ui->editDateTime->text(); dateTimeStr = dateTimeStr.trimmed(); if(!dateTimeStr.isEmpty()) //时间字符串转 QDateTime ui->dateTimeEdit->setDateTime(QDateTime::fromString(dateTimeStr, "yyyy-MM-dd hh:mm:ss"));}
发表评论