Register now and start sharing your code snippets.
-->
Parse a date in java
Java posted about 1 year ago by marko
A simple class that parses a date given in finnish formats d.m.yyyy, dd.mm.yyyy and ddmmyyyy.
1 import java.text.SimpleDateFormat; 2 import java.util.Calendar; 3 import java.util.Date; 4 5 public class DateParser { 6 7 Calendar calendar = null; 8 9 public DateParser(String dateAsString) { 10 if ( dateAsString == null || dateAsString.length() < 8 ) { 11 throw new RuntimeException("String must be at least 8 characters long and in one of these formats: ddmmyyyy | d.m.yyyy | dd.mm.yyyy"); 12 } 13 dateAsString = dateAsString.replaceAll("\\.",""); 14 String parseString = "ddMMyyyy"; 15 if ( dateAsString.length() < 8 ) { 16 parseString="dMyyyy"; 17 } 18 try { 19 Date date = new SimpleDateFormat(parseString).parse(dateAsString); 20 calendar = Calendar.getInstance(); 21 calendar.setTime(date); 22 } catch (Exception e) { 23 throw new RuntimeException("String must be at least 8 characters long and in one of these formats: ddmmyyyy | d.m.yyyy | dd.mm.yyyy",e); 24 } 25 } 26 27 public int getDayOfMonth() { 28 return calendar.get(Calendar.DATE); 29 } 30 31 public int getMonth() { 32 return calendar.get(Calendar.MONTH) + 1; 33 } 34 35 public int getYear() { 36 return calendar.get(Calendar.YEAR); 37 } 38 39 public Calendar getTime() { 40 return calendar; 41 } 42 43 } 44