如何使用fromString()和currentDate()

时间:2017-06-09 01:54:42

标签: c++ qt date format qt5

我试图从系统时钟获取当前日期并更改其格式(即格式为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。有任何建议吗?

1 个答案:

答案 0 :(得分:2)

QDate::currentDate()是一个静态函数,它返回当前日期,对象存储日期,而不是格式。如果您要显示表单:"dd/MM/yyyy",则必须使用setDisplayFormat的{​​{1}}功能。

QDateEdit

注意:QDate date = QDate::currentDate(); StartDateEdit->setDate(date); StartDateEdit->setDisplayFormat("dd/MM/yyyy"); 函数将字符串转换为QDate,表示字符串的格式。