14

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

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

但是,我无法将该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

我应该怎么办 ?

4

1 回答 1

24

首先,格式字符串应该是dd/MM/yyyy. 该类的 Qt 文档QDate说它yyyy被识别为四位数的年份数字。

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

QString date_string_on_db = "20/12/2015";
QDate Date = QDate::fromString(date_string_on_db,"dd/MM/yyyy");
于 2015-12-20T15:19:09.000 回答