如何以特定格式将QString转换为QDate?

时间:2015-12-20 15:09:11

标签: c++ qt qstring qdate

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

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

但是,我无法使用以下内容将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

我该怎么办?

1 个答案:

答案 0 :(得分:15)

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

其次,fromStringstatic函数,它返回一个新的QDate。目前,该函数的返回值被丢弃:它不会像您想象的那样写回Date变量。因此,完整正确的代码应如下所示:

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