Strictly speaking, when referring to one or more of a definite set of values, the word 'which' should be employed. When referring to one or more of an unknown or infinate set of values, the word 'what' would be used instead.
E.g. Which do you prefer; tea or coffee?
or
What sort of music do you like?
In practice, however, the above protocol would sound wrong if applied consistently. Let's take the example of asking for the time…
Which time is it?
This sounds odd – nobody asks which time it is, rather what time it is. Going on the what/which protocol as mentioned above however, which would be the correct pronoun given that times of the day can be considered definite values.
Any thoughts? Where do you draw the line between which and what? Are times of the day really definite values?
Best Answer
As you noted, the word "which" when asking a question is typically used to imply a choice between definite values or a small potential list. On the other hand, "what" is used to asked for a single answer without providing options or when the set of options is large.
Keeping that in mind, there are 24 hours in a day and 60 minutes in each hour---by that count, "what time is it" has 1440 answers!
Some examples using the one object (color) that is sometimes a definite list and sometimes not:
The last one doesn't provide an explicit list, but the rainbow is often considered to have 6-8 specific colors so the scope of the choices is still limited.
You might use "which" in association with time if you narrow down the options:
Going the opposite direction, "what is your favorite hot beverage" would be a different way to frame your first question.