En una lista de calendario de SharePoint, creo dos eventos con la fecha de hoy. Uno hago un evento de todo el día, el otro establezco que la hora de inicio es a las 12 a.m. y la hora de finalización es a las 11:55 p.m.SharePoint: los eventos de todo el día se comportan de manera diferente en la consulta CAML
Cuando creo una consulta CAML (en este caso con "U2U CAML Query Builder") veo un comportamiento extraño. Cuando mi consulta es un simple "OrderBy", se devuelven ambos eventos.
Cuando ejecuto la siguiente consulta que busca eventos que son mayores o iguales a día de hoy, sólo el evento que es NO marcados como "Todo el día" se devuelve:
<Where>
<Geq>
<FieldRef Name='EventDate' />
<Value Type='DateTime'>2009-10-05T00:00:00Z</Value>
</Geq>
</Where>
Examinar los resultados de la herramienta de creación de consultas veo que los valores para EventDate (el nombre interno de la columna Hora de inicio) son idénticos (2009-10-05 00:00:00).
¿Por qué SharePoint trata estos dos eventos de forma idéntica? ¿Podría ser un problema de zona horaria?
EDITAR: Más información, creo que esto podría ser un problema de zona horaria. Descubrí el atributo "IncludeTimeValue" del elemento Value, que se describe aquí: MSDN. Estoy en la costa este (actualmente GMT, 4 horas). Si puedo editar el elemento Value
de la siguiente manera: (anotar la fecha es ahora el cuarto, quinto no)
<Value Type='DateTime' IncludeTimeValue='True'>2009-10-04T20:00:00Z</Value>
A continuación, se devuelven los dos eventos, pero si me voy hasta 20:01 y luego pierdo el todo el día evento. Cuando voy a las 20:01 también pierdo el evento de todo el día. ¿Alguien sabe dónde puedo encontrar una descripción detallada de este comportamiento?
EDIT2: Me confundí a mí mismo; corrigió la primera edición.
Convert.ToBoolean (item ["fAllDayEvent"]) era exactamente lo que estaba buscando. ¡Gracias! –