我的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
。
我该怎么办?
答案 0 :(得分:15)
首先,格式字符串应为dd/MM/yyyy
。 Qt 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");