📌  相关文章
📜  在 qt 中使用 hh:mm:ss 格式将 QDateTime 转换为 QString (1)

📅  最后修改于: 2023-12-03 14:51:07.021000             🧑  作者: Mango

在 Qt 中使用 hh:mm:ss 格式将 QDateTime 转换为 QString

在 Qt 中,有时需要在界面上显示时间,通常会使用 QDateTime 类型,但是默认情况下 QDateTime 类型转换为字符串后的格式并不是 hh:mm:ss,该如何将 QDateTime 类型转换为指定格式的字符串呢?

使用 toString 方法

QDateTime 类中的 toString 方法可以将 QDateTime 类型转换为字符串,其用法如下:

QDateTime dateTime = QDateTime::currentDateTime();
QString strDateTime = dateTime.toString("hh:mm:ss");

toString 方法的参数为格式化字符串,其中 "hh:mm:ss" 表示时间的格式为时:分:秒,其他常见格式包括:

  • "yyyy/MM/dd hh:mm:ss":年月日 时分秒
  • "yyyy年MM月dd日hh时mm分ss秒":中文格式年月日时分秒
使用 QDateTimeEdit 控件

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 的两种方法,可以根据实际需求选择适合自己的方法。