Here you can find the source of parse(final String source)
public static Date parse(final String source) throws ParseException
//package com.java2s; //License from project: Open Source License import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); public static final SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static final SimpleDateFormat monthFormat = new SimpleDateFormat("yyyy-MM"); public static Date parse(final String source) throws ParseException { if (source == null || source.trim().length() == 0) { return null; }//from ww w . j a va2 s . co m if (source.length() <= dateTimeFormat.toPattern().length() && source.length() >= dateTimeFormat.toPattern().length() - 5) { try { return dateTimeFormat.parse(source); } catch (ParseException ex) { } } if (source.length() <= dateFormat.toPattern().length() && source.length() >= dateFormat.toPattern().length() - 2) { try { return dateFormat.parse(source); } catch (ParseException ex) { } } if (source.length() <= monthFormat.toPattern().length() && source.length() >= monthFormat.toPattern().length() - 1) { try { return monthFormat.parse(source); } catch (ParseException ex) { } } return dateTimeFormat.parse(source); } }