The testing theory related to equivalence partitioning says that only
one test case of each partition is needed to evaluate the behaviour of
the program for the related partition. In other words it is sufficient
to select one test case out of each partition to check the behaviour of
the program. To use more or even all test cases of a partition will not
find new faults in the program. The values within one partition are
considered to be "equivalent." Thus the number of test cases can be
reduced considerably.
An additional effect by applying this technique is that you also find
the so called "dirty" test cases. An inexperienced tester may be tempted
to use as test cases the input data 1 to 12 for the month and forget to
select some out of the invalid partitions. This would lead to a huge
number of unnecessary test cases on the one hand, and a lack of test
cases for the dirty ranges on the other hand.