Мой конструктор QDateTime (QDate, QTime) всегда создает «1 января 1970 00: 00: 00».

Отладочная информация

У меня странная проблема с моими конструкторами QDateTime, я создаю программу-календарь в Windows, используя Qt creator 3.1.1, и она основана на Qt 5.2.1 (MSVC 2010, 32bit)

Как вы можете видеть в информации отладчика, 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

И я не уверен, почему это происходит, потому что мой QDate в begin должно быть sep 1 2014 до сих пор это меняется в jan 1 1970

Я уже застрял над этой проблемой почти час, поэтому я был бы очень признателен, если кто-то здесь может объяснить, что я делаю неправильно или почему это происходит.

0

Решение

Задача ещё не решена.

Другие решения