I'm having issues filtering records between two time filters that include time zones in 4Store. My records are currently mostly in the +02:00
time zone, and it is a xsd:dateTime
type.
When I try a filter like this:
FILTER (?time >= xsd:dateTime('2013-08-02T01:00:00.000+02:00') && ?time <=
xsd:dateTime('2013-08-03T22:00:00.000+02:00'))
or
FILTER (?time >= "2013-08-02T01:00:00.000+02:00"^^xsd:dateTime &&
?time <= "2013-08-03T22:00:00.000+02:00"^^xsd:dateTime)
The database shifts those times for the time zone amount, and then compares them literally to the times in the database, ignoring their time zone. Which means, when I want the time from the range in the examples, I have to remove the time zone, or put Z
or +00:00
. When I read the times, they are correctly written, with their time zone which is +02:00
. It somehow ignores the time zone comparison, but when I put the zone in the query the store shifts the time. This is going to be a major confusion when I have more time zones in the system.
Can anybody give some advice regarding this?