Запрос, чтобы получить все даты между 2 указанными датами

1

Я пытаюсь получить все даты между двумя датами из хранилища данных (appengine), я нашел этот запрос, который дает восходящие и нисходящие даты, но мне нужно, что между

Query q = new Query("Employee Attendance Sheet test1").addSort("Date", Query.SortDirection.ASCENDING);

Если есть какое-то смешение восходящих и нисходящих запросов, возможно,

Я нашел эти коды и

query.setFilter("dateField < dateParam");

но функция setFilter говорит мне, что она не принимает строку. Что не так?

Теги:
google-app-engine
google-cloud-datastore

1 ответ

0

Если у вас есть только одно поле даты, которое вы хотите проверить, попадает ли он в промежуток времени (между двумя заданными датами), чем вы можете просто использовать запрос с составным фильтром:

Filter startDateFilter = new FilterPredicate("dateField",
                         FilterOperator.GREATER_THAN_OR_EQUAL,
                         startDate);

Filter endDateFilter = new FilterPredicate("dateField",
                       FilterOperator.LESS_THAN_OR_EQUAL,
                       endDate);

Filter dateFilter = CompositeFilterOperator.and(startDateFilter, endDateFilter);

Query q = new Query("EntityName").setFilter(dateFilter);
  • 0
    я уже пробовал .. это дает ошибку сервлета .. startDate и endDate должны быть типа Дата верно?
  • 0
    Да, если вы хотите сделать запрос по датам, вам нужно сохранить их как Date .
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню