<case 0> text is empty.
\month is an “internal integer”, so
\ifcase\month is a complete conditional test (in the sense that TeX will not do a look ahead with expansion in order to see whether a space follows).
\ifcase as follows; suppose there are m
<integer> value is determined, either by looking up the value of a register or by evaluating an explicit constant, let's say it's n;
- if n < 0 or n > m, then TeX skips tokens up to (and including)
\else or up to (and excluding)
\fi if no
\else comes along;
- if 0 ≤ n ≤ m, tokens are skipped up to (and including) the n-th
Since there is no “0-th”
\or, no text at all is skipped when the
<integer> evaluates to 0.
What happens to the following
\or tokens and text between them? The expansion of
\or consists in skipping tokens (without expansion) up to (and including) the matching
\fi. Text between
\fi disappears in the same way, when n = m.
\month be zero or negative? Certainly so. The register's value is computed and assigned to at the beginning of the job with the number corresponding to the current month, but the register is writable and saying
\month=0 (or any other integer value) would simply change the stored value (with obvious impact on dates, but that's another matter).
\month holds the value 11, upon expansion of
\today, the input stream will contain
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi
TeX will now look at the value of
\month and skip the first eleven
\or, after removing
\ifcase\month; this leaves
November\or December\fi\space\number\day, \number\year
November is passed to the next stage of processing (usually for printing) and the input stream will have
\or December\fi\space\number\day, \number\year
The expansion of
\or consists in removing (without expansion) all tokens up to
and processing will go on by expanding
In the (unlikely) event that
\month has the value 0, nothing would be skipped after removal of
\ifcase\month; the text up to
\fi will be removed by the expansion of
\or as in the previous case.