I have a DateTime property in the data returned by a service that looks like
"SDateTime":"2014-06-29T03:30:00.000"
.
I need to write a query to get a collection which has the date less than "2014-06-26T03:30:00.000" and greater than "2014-06-23T03:30:00.000"
How to write a filter for the dateTime?
Thanks.
In OData V4 date filtering format has changed, the correct filter will be
$filter=SDateTime gt 2014-06-23T03:30:00.000Z and SDateTime lt 2014-06-26T03:30:00.000Z
For example
http://services.odata.org/V4/OData/OData.svc/Products?%24filter=ReleaseDate%20gt%201995-09-01T00:00:00Z%20and%20ReleaseDate%20lt%201995-12-01T00:00:00Z
For previous versions of OData see previous answer
$filter=SDateTime gt datetime'2014-06-26T03:30:00.000' and SDateTime lt datetime'2014-06-23T03:30:00.000'
It works in this service: http://services.odata.org/V3/OData/OData.svc/Products?$filter=ReleaseDate%20gt%20datetime%271995-09-01T00:00:00%27%20and%20ReleaseDate%20lt%20datetime%271995-12-01T00:00:00%27
Breeze will automatically construct an OData filter under the covers for any query. So to query for a date will look something like this in Breeze.
var query = new EntityQuery("Orders")
.where("orderDate", ">", new Date(1998, 3, 1));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With