The problem with doing things this way is that you require your search results to be evenly distributed throughout the entire date range. Also, since you have to count the results to arrive at the 10,000 number anyway, there's no real savings in adjusting the time segment and then searching again. Why not just return the first x number of search results, along with the ID of the last result? Then you can display the date range as being the range of the search results, and you can pick up your search from ID-1 (or ID+1, depending) if the user wants more results.
As for actually converting to and from timestamps, see above.