(Scroll down to bolded section if you want the tl:dr;)
I have a simple business requirement - search for time ranges in Amazon CloudSearch. So, for example, I have a cloud search entry with `eventTime: 5:00' pm. The problem is that I only need the time. As per AWS docs on the date field:
date—contains a timestamp. Dates and times are specified in UTC (Coordinated Universal Time) according to IETF RFC3339: yyyy-mm-ddTHH:mm:ss.SSSZ. In UTC, for example, 5:00 PM August 23, 1970 is: 1970-08-23T17:00:00Z. Note that you can also specify fractional seconds when specifying times in UTC. For example, 1967-01-31T23:20:50.650Z.
Furthermore, there is this on searching date ranges:
To search for a range of dates (or times) in a date field, you use the same bracketed range syntax that you use for numeric values, but you must enclose the date string in single quotes. For example, the following request searches the movie data for all movies with a release date of January 1, 2013 or later:
and
You can use structured queries to search a field for a range of values. To specify a range of values, use a comma (,) to separate the upper and lower bounds and enclose the range using brackets or braces. A square brace, [ or ], indicates that the bound is included in the range, a curly brace, { or }, excludes the bound.
For example, to search the sample data set for movies released from 2008 to 2010 (inclusive), specify the range as [2008,2010].
To specify an open-ended range, omit the bound. For example, year:[2002,} matches all movies released from 2002 onward, and year:{,1970] matches all movies released through 1970. When you omit a bound, you must use a curly brace.
In a compound query, you use the range operator syntax to search for a range of values; for example: (range field=year [1967,}).
This is all well and good, but I want to be able to search only by time, e.g. all appointments between 10am and 6pm on any day. How do I ignore the date component?