我在过滤两个时间过滤器(包括 4Store 中的时区)之间的记录时遇到问题。我的记录目前大多是+02:00
时区的,是一种xsd:dateTime
类型。
当我尝试这样的过滤器时:
FILTER (?time >= xsd:dateTime('2013-08-02T01:00:00.000+02:00') && ?time <=
xsd:dateTime('2013-08-03T22:00:00.000+02:00'))
或者
FILTER (?time >= "2013-08-02T01:00:00.000+02:00"^^xsd:dateTime &&
?time <= "2013-08-03T22:00:00.000+02:00"^^xsd:dateTime)
数据库将这些时间转移到时区数量,然后将它们与数据库中的时间进行逐字比较,忽略它们的时区。这意味着,当我想要示例范围内的时间时,我必须删除时区,或者 put Z
or +00:00
。当我阅读时间时,它们的写法是正确的,它们的时区是+02:00
. 它以某种方式忽略了时区比较,但是当我将时区放在查询中时,商店会改变时间。当我在系统中有更多时区时,这将是一个主要的混乱。
有人可以就此提供一些建议吗?