Let's take a look at the algorithm (X means the number of days/hours/etc. that the user entered):
1) When using "days", "weeks", "months and "years" options - i.e. when a date range is used for calculation (time is ignored) - the algorithm is:
Since date is internally represented in days, the calculation resolution is one day here. So X=0 means: "today".find files that have date >= Now-X
2) When using "minutes" and "hours" options - i.e. when a time range is used for calculation - the algorithm is:
Since time is internally represented in seconds, the calculation resolution is one second here. So X=0 means: "this second".find files that have time >= Now-X
So let's create a file and search for it:
Not older than 0 years: the file will be found
Not older than 0 months: the file will be found
Not older than 0 weeks: the file will be found
Not older than 0 days: the file will be found
Not older than 0 hours: the file will not be found
Not older than 0 minutes: the file will not be found
This is quite counterintuitive. But when we look at the algorithm above, it becomes clear, that the user has no chance to find anything when using 0 hours or 0 minutes option - because it is possible to find a file only in the same second that the file was created. So in practice it's impossible, and 0 for hours or minutes has no practical use.
On the other hand, it's also not very intuitive that using 0 years will find only files from the same day.
Strictly speaking, using the 0 value would always be useless (for all: minutes, hours, days, weeks, months or years) when calculating with an infinite precision, because, for X=0, the equation becomes: FileDateTime >= Now. But since FileDateTime cannot be greater than Now, the equation becomes: FileDateTime = Now.
From the other side, TC doesn't define anywhere, what the 0 value means. So it may be only presumed, that most users don't use the 0 value at all or assume that it means "current minute", "current hour", "current day", etc.
So I can see two solutions:
1) Disable the possibility of using the 0 value.
2) Clearly define the 0 value as the current minute/hour/etc. and modify the algorithm for the 0 value:
For example, for Now = 2016-07-21 21:13:53:
0 minutes = current minute = from 2016-07-21 21:13:00
0 hours = current hour = from 2016-07-21 21:00:00
0 days = current day = from 2016-07-21 00:00:00
0 weeks = current week = from 2016-07-18 00:00:00 (according to ISO 8601, Monday is the first day of the week)
0 months = current month = from 2016-07-01 00:00:00
0 years = current year = from 2016-01-01 00:00:00
All these notices apply also to the newly introduced "Older than" functionality.
Regards