OData中DateTimeOffset的格式

Format of DateTimeOffset in OData

我有两个 JavaScript Date 对象。我需要在这两个 Date 对象之间进行 OData 查询。我正在查询的信息有一个名为 createDate 的字段,它是一个 DateTimeOffset。根据我的理解,我可以这样做:

entities?filter=((createDate ge [Date1]) and (createDate le [Date2]))

我的问题是:

  1. DateTimeOffset 是什么格式?
  2. 如何将 JavaScript 日期对象转换为 DateTimeOffset 格式?

谢谢!

首先,这取决于您的 OData 服务版本。 OData V4 与 OData V3 不兼容。

OData V4

DataTimeOffset格式请参考CSDL spec of OData V4

过滤 DateTimeOffset 的示例是 http://services.odata.org/V4/TripPinService/People('russellwhyte')/Trips?$filter=StartsAt eq 2014-01-01T00:00:00Z

OData V3

DataTimeOffset格式请参考CSDL spec of OData V3

过滤 DateTimeOffset 的示例是 http://services.odata.org/V3/OData/OData.svc/Products?$filter=ReleaseDate gt datetime'1995-09-01T00:00:00'