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  

Tagged finnish, date parser, java, päivämäärän parsiminen, parsering av datum