crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QDate и Unix time
dexter_cs
  опции профиля:
сообщение 26.9.2011, 14:00
Сообщение #1


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 26.9.2011
Пользователь №: 2909

Спасибо сказали: 0 раз(а)




Репутация:   0  


Добрый день.
Интересует такой вопрос.
Есть база данных, в ней хранятся данные, необходимо отфильтровать по дате, но дата идет в unixtime. соотвественно в секундах. И есть QCalendarWidget и метод clicked(const QDate &date).
Необходимо сделать чтобы при клике данные фильтровались на выбранную дату. Проблема в следующем. Возможно ли как-либо перевести из QDate в секунды для того чтобы сделать фильтр по дате.
Заранее спасибо за помощь)) В Qt начал работать относительно недавно.

Есть свой вариант. Перевести в QString затем добавить время и их этого перевести в QDateTime, далее в unixtime, потом прибавить 1 день и в QSqlTableModel::setFilter указать диапазон... но помоему такая куча переводов выглядит криво...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
dexter_cs
  опции профиля:
сообщение 26.9.2011, 14:11
Сообщение #2


Новичок


Группа: Новичок
Сообщений: 4
Регистрация: 26.9.2011
Пользователь №: 2909

Спасибо сказали: 0 раз(а)




Репутация:   0  


Если бы подходила использовал бы, там класс другой QDateTime, а в календаре передает QDate, если альтернатив кроме как перевода из одного в другое нету, то буду использовать переводы, просто как-то не очень это выглядит...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
hoRUS
  опции профиля:
сообщение 26.9.2011, 14:18
Сообщение #3


Студент
*

Группа: Участник
Сообщений: 30
Регистрация: 10.7.2008
Из: Москва
Пользователь №: 231

Спасибо сказали: 5 раз(а)




Репутация:   0  


Инициализируем объект QDateTime объектом QDate
QDateTime::QDateTime ( const QDate & date )

Constructs a datetime with the given date, a valid time(00:00:00.000), and sets the timeSpec() to Qt::LocalTime.


Или настраиваем объект QDateTime на объект QDate

void QDateTime::setDate ( const QDate & date )

Sets the date part of this datetime to date. If no time is set, it is set to midnight.

Итого (например)
qint64 dateInSecs = QDateTime(date).toMSecsSinceEpoch() / 1000;
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 26.11.2024, 7:27