Various Forms of SimpleDateFormat

 SimpleDateFormat sdfInput = new SimpleDateFormat("dd/MM/yyyy G");
 SimpleDateFormat sdfOutput = new SimpleDateFormat("yyyy-MM-dd G");

 ***Condition1: valid Date
 Date date = sdfInput.parse("31/1/2016 AD");
 String output = sdfOutput.format(date);
 System.out.println(output) ==> 2016-01-31 AD

 ***Condition2: Invalid Day (32)
 Date date = sdfInput.parse("32/1/2016 AD");
 String output = sdfOutput.format(date);
 System.out.println(output) ==> 2016-02-01 AD

 ***Condition3: Negative Day (-1)
 Date date = sdfInput.parse("-1/1/2016 AD");
 String output = sdfOutput.format(date);
 System.out.println(output) ==> 2015-12-30 AD

 *** Condition4:  ==> Invalid Month (13)
 Date date = sdfInput.parse("1/13/2016 AD");
 String output = sdfOutput.format(date);
 System.out.println(output) ==> 2017-01-01 AD

 *** Condition5: Negative Month (-1)
 Date date = sdfInput.parse("01/-1/2016 AD");
 String output = sdfOutput.format(date);
 System.out.println(output) ==> 2015-11-01 AD

 *** Condition6 : Invalid Year i.e Negative Year (-2016)
 Date date = sdfInput.parse("01/01/-2016 AD");
 String output = sdfOutput.format(date);
 System.out.println(output) ==> 2017-01-01 BC
 

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.