我的 QDateTime 构造函数有一个奇怪的问题,我正在使用 Qt creator 3.1.1 在 Windows 上创建一个日历程序,它基于 Qt 5.2.1(MSVC 2010,32 位)
正如您在调试器信息中看到的那样,month = 9
以及year = 2014
仍然在执行以下代码时
void GUICalendar::monthUpdated(int year, int month)
{
QDateTime begin = QDateTime(QDate(year, month, 1), QTime(0,0,0));
QDateTime end = QDateTime(QDate(year, month, begin.date().daysInMonth()), QTime(23,59,59));
QList<AppointmentSolo*> soloList = m_calendar->AppointmentSoloBetween(begin, end);
QList<AppointmentRepeat*> repeatList = m_calendar->AppointmentRepeatBetween(begin, end);
QList<TodoBaseTask*> todoList = m_calendar->TodoTasksBetween(begin, end);
m_dayView->update(soloList, repeatList, todoList);
}
这就是发生的事情
begin = jan 1 00:00:00 1970
end = jan 1 00:00:00 1970
而且我不确定为什么会发生这种情况,因为我的 QDatebegin
应该sep 1 2014
仍然是它正在被更改为jan 1 1970
我已经在这个问题上停留了将近一个小时,所以如果有人能解释我做错了什么或为什么会发生这种情况,我将不胜感激。