2

我想获得一个定制的QDateTime例如:

QString string = "23 April 2012 at 22:51";
QString format = "d MMMM yyyy at hh:mm";

我不能,因为文字at未被识别为“附加”字符串,但有关联的标记。

  • a-> 上午或下午
  • t-> 时区信息。

当然,我会采取一种替代方法:

QDateTime timeNow = QDateTime::currentDateTime();

QString time1Format = "d MMMM yyyy";
QString time2Format = "hh:mm";

QString time1 = timeNow.toString(time1Format);
QString time2 = timeNow.toString(time2Format);

QString timeConcat = QString(time1 + " at " + time2);

qDebug() << "Time = " << timeConcat;

如何在我的格式中转义“at”关键字?

ap 或解释为 AM/PM 时间。ap 必须是“am”或“pm”。

4

1 回答 1

4

您必须将at字符串括在单引号内:

任何用单引号括起来的字符序列都将逐字包含在输出字符串中(去掉引号),即使它包含格式化字符。在输出中,两个连续的单引号 ("''") 被替换为单引号。格式字符串中的所有其他字符都逐字包含在输出字符串中。

qDebug() << "Time = " << QDateTime::currentDateTime().toString("d MMMM yyyy 'at' hh::mm");
于 2019-09-04T12:19:14.713 回答