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

How to convert QString to QDate in specific format?

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

如果用户想要编辑日期,那么我需要再次在 GUI 的 QDateEdit 字段中显示日期。因此,我需要获取数据库,带回日期(格式为 QString)并将其再次转换为 QDate,以便将其放在 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 函数,return 是一个新的 QDate。目前,该函数的 return 值已被丢弃:它不会像您想象的那样写回到 Date 变量中。因此,完整正确的代码应该如下所示:

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