Caml-запрос для получения данных из списка Sharepoint на определенную дату - PullRequest
1 голос
/ 21 мая 2011

У меня есть список sharepoint с одним из создаваемых столбцов Дата создания типа DateTime и допустимым значением OnlyDate.

Отправленная дата в моем столбце - 18.05.2011.Когда я выполняю поиск с использованием приведенного ниже CAML-запроса, он не дает никаких результатов, хотя у меня есть два элемента с этой датой.

<Where><Eq><FieldRef Name='Date_x0020_Created' /><Value Type='DateTime'>5/18/2011</Value></Eq></Where>

Я не понимаю, что не так с этим запросом.Кто-нибудь, пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 02 мая 2013

Sharepoint принимает дату и время в форме ISO 8601 Дата и время в UTC .Формат

yyyy-MM-ddTHH:mm:ssZ

Так что для вашего примера вы можете использовать

2011-05-18T00:00:00Z

SPUtility предоставляет метод для этого преобразования.Для создания этого в Java вы можете использовать следующий метод:

private String changeDateToISO8601(Date date) {
    TimeZone timeZone = TimeZone.getTimeZone("UTC");
    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
    dateFormat.setTimeZone(timeZone);
    String convertedDate = dateFormat.format(date);
    return convertedDate;
}

PS Возможно, вам не удастся найти оба элемента, используя это только по тегу <Eq>, поскольку может быть разница во времени.Чтобы это работало, вам нужно заключить даты в теги <Leq> и <Geq>.

0 голосов
/ 10 мая 2012

Вы можете проверить свой запрос, используя построитель запросов CAML. Чтобы узнать об основах запроса CAML и о том, как использовать конструктор запросов CAML, прочитайте следующие статьи - они помогут вам!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...