我的GUI中有一个QDateEdit,将QDate转换为QString并将其添加到数据库中。 QString日期以以下格式保存在数据库中:20/12/2015。

如果用户想要编辑日期,那么我需要再次在GUI的QDateEdit字段上显示日期。因此,我需要获取数据库,带回日期(采用QString格式),然后再次将其转换为QDate,以便将其放置在GUI上的QDateEdit字段中。

但是,我无法使用以下方法将QString格式(即:20/12/2015)转换为QDate:

QString date_string_on_db = "20/12/2015";
QDate Date;
Date.fromString(date_string_on_db,"dd/MM/YYYY");
Date始终返回invalid

我应该怎么办 ?

最佳答案

首先,格式字符串应为dd/MM/yyyyQt documentation for the QDate class表示yyyy被识别为四位数的年份数字。

其次,fromString是一个static函数,它返回一个新的QDate。当前,该函数的返回值已被丢弃:正如您可能会想到的那样,它没有写回到Date变量中。因此,完整正确的代码应如下所示:

QString date_string_on_db = "20/12/2015";
QDate Date = QDate::fromString(date_string_on_db,"dd/MM/yyyy");

关于c++ - 如何将QString转换为特定格式的QDate?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34382384/

10-09 04:10