This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.
I'd prefer to use a DateFormat to check if the date is valid, rather than manually checking bounds. Using a DateFormat and its parse(String, ParsePosition) method you can even prevent any ParseExceptions:
That parse method returns null if the input is invalid. The other check also makes sure that the parsing consumes the entire input; parse methods usually allow trailing data; for instance, with "Test_INT.NO1. 28 06 10 12 25 56.txtabc" as input, the parse position's index will point at the a, allowing you to parse some more. Since we don't want to parse more or allow this trailing data the check ensures that the format will consume the entire text.