二、QT中时间与字符串转换

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"));
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值