How do I convert (normalise) the user-defined dates into meaningful dates?
For example: If the user enters date '29-Feb-2002' must return '1-Mar-2002' (29th Feb is not a valid date and hence the next day is returned).
Similarly, if the user enters '31-30-2000' must return '1-Jul-2003' (As the months 30 is invalid, it must return 30 months from the year 2000 which results June, 2003 but the date is 31st and there is no 31st in June, it must return the next day i.e. 1-Jul-2003).
Also, I must be able to set my own default date for date calculation. For example: If I set Default Date as '01-01-2004' and I pass a date i.e. '10-10-2004', it must return the No. of days from 1st Jan, 2004 which is 284 days and if the user enters 284 days, it must return '10-10-2004'.
The User can enter either '01/01/2004' or '01-Jan-2004' or '01-January-2004' formats. How do I validate the date string?
Thank you Experts in advance.