📅  最后修改于: 2023-12-03 14:51:07.021000             🧑  作者: Mango
在 Qt 中,有时需要在界面上显示时间,通常会使用 QDateTime 类型,但是默认情况下 QDateTime 类型转换为字符串后的格式并不是 hh:mm:ss,该如何将 QDateTime 类型转换为指定格式的字符串呢?
QDateTime 类中的 toString 方法可以将 QDateTime 类型转换为字符串,其用法如下:
QDateTime dateTime = QDateTime::currentDateTime();
QString strDateTime = dateTime.toString("hh:mm:ss");
toString 方法的参数为格式化字符串,其中 "hh:mm:ss" 表示时间的格式为时:分:秒,其他常见格式包括:
QDateTimeEdit 是一个控件,它允许用户以日期和时间格式编辑日期和时间值。它允许您指定一些选项,如日期格式、时间格式、时间为 24 小时格式等。您可以使用 QDateTimeEdit 控件来获取 QDateTime 类型的日期时间,然后再使用 toString 方法将其转换为字符串。以下是如何在 QDateTimeEdit 中设置和获取时间:
QDateTimeEdit *dateTimeEdit = new QDateTimeEdit(QDateTime::currentDateTime());
dateTimeEdit->setDisplayFormat("hh:mm:ss");
// 获取时间
QDateTime dateTime = dateTimeEdit->dateTime();
// 将时间转换为字符串
QString strDateTime = dateTime.toString("hh:mm:ss");
setDisplayFormat 方法可用于设置 QDateTimeEdit 控件中的日期和时间格式。setDisplayFormat 中的参数也是格式化字符串。
以上是在 Qt 中使用 hh:mm:ss 格式将 QDateTime 转换为 QString 的两种方法,可以根据实际需求选择适合自己的方法。