Регулярка для фильтрации даты Qt C++
Вот программа. Фреймворк Qt. Вверху справа есть "Фильтрация по дате отправления". Есть колонка "Отправление", в ней дата отправления. Помогите сделать фильтрацию.
Вот пытался реализовать, но работает криво.
void MainWindow::on_btn_set_filter_clicked()
{
if (file_info.absoluteFilePath() != "") // Проверка, открыт ли файл (не обращайте внимания)
{
if (ui->filter_date_from->date() <= ui->filter_date_to->date())
{
QSortFilterProxyModel *proxy_model = new QSortFilterProxyModel();
proxy_model->setSourceModel(ui->table_trip->model());
ui->table_trip->setModel(proxy_model);
ui->table_trip->sortByColumn(1, Qt::AscendingOrder);
proxy_model->setFilterKeyColumn(1);
proxy_model->setFilterRegExp("([" + QString::number(ui->filter_date_from->date().year()) + "-" + QString::number(ui->filter_date_to->date().year()) + "])-(0[" + QString::number(ui->filter_date_from->date().month()) + "-" + QString::number(ui->filter_date_to->date().month()) + "]|[" + QString::number(ui->filter_date_from->date().month()) + "-" + QString::number(ui->filter_date_to->date().month()) + "]{1,2})-(0[" + QString::number(ui->filter_date_from->date().day()) + "-" + QString::number(ui->filter_date_to->date().day()) + "]|[" + QString::number(ui->filter_date_from->date().day()) + "-" + QString::number(ui->filter_date_to->date().day()) + "]{1,2})");
ui->status_line->showMessage("Найдено записей: " + QString::number(proxy_model->rowCount()));
}
}
}
Если кому-то трудно прочитать регулярку, то выглядит она следующим образом: Дата с: 15.12.2020 Дата до: 16.12.2020
Формат даты получаемой с таблицы: 2020-12-15T11:30:00.000
([2020-2020])-(0[12-12]|[12-12]{1,2})-(0[15-16]|[15-16]{1,2})
