我需要从QDateTime
格式获取"hh:mm:ss"
个对象。哪个年,月,日应该从当前日期开始?
除了将yyyy-mm-dd
添加到输入字符串之外,是否有人会建议任何更清晰的解决方案。
答案 0 :(得分:5)
您可以使用setTime()
获取当前日期/时间,然后使用QDateTime::fromString()
设置所需的时间:
QDateTime dateTime= QDateTime::currentDateTime();
dateTime.setTime(QTime::fromString("11:11:11", "hh:mm:ss"));
为了在输入字符串的格式为QDateTime
时获取"MM/dd hh:mm:ss"
对象,将年份设置为当前年份,我会这样做:
QDateTime dateTime= QDateTime::fromString("12/17 11:11:11", "MM/dd hh:mm:ss");
//get current date
QDate currentDate= QDate::currentDate();
//get read date
QDate readDate= dateTime.date();
//assign new date by taking year from currentDate, month and days from readDate
dateTime.setDate(QDate(currentDate.year(), readDate.month(), readDate.day()));
请注意,当输入格式中没有字段时,{{3}}会使用一些默认值。在这种情况下,年份设置为1900,直到它被分配到最后一行中的当前年份。