>我正在尝试从系统时钟中获取当前日期并更改其格式(即dd/MM/yyyy
更改为此格式(。之后,我需要使用 setDate()
设置 QDateEdit 。我的问题是将fromString()
与QDate::currentDate()
一起使用会返回无效的日期。这是关于此问题的代码段
QDate date = QDate::currentDate().fromString("dd/MM/yyyy");
qDebug() << date.toString(); // <-- returns empty string
StartDateEdit->setDate(date); // <-- adding invalid date shows 1-1-2000
我的系统时钟在 Windows 10 中M/d/yyyy
具有此格式。有什么建议吗?
QDate::currentDate()
是一个静态函数,它返回当前日期,对象存储日期,而不是格式。如果要显示表单:"dd/MM/yyyy"
则必须使用 QDateEdit
的setDisplayFormat
函数。
QDate date = QDate::currentDate();
StartDateEdit->setDate(date);
StartDateEdit->setDisplayFormat("dd/MM/yyyy");
注意:fromString
函数将字符串转换为 QDate,指示字符串的格式。