如何将 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/yyyy
。 Qt 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");
我的 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/yyyy
。 Qt 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");