private static String[] parsePatterns = {
         "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", 
         "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM",
         "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"};

 /**
  * 日期型字符串转化为日期 格式
  */
 public static Date parseDate(Object str)
 {
     if (str == null)
     {
         return null;
     }
     try
     {
         return parseDate(str.toString(), parsePatterns);
     }
     catch (ParseException e)
     {
         return null;
     }
 }

代码中return parseDate(str.toString(), parsePatterns);的parseDate方法来自于org.apache.commons.lang3.time.DateFormatUtils;包。

public static Date parseDate(String str, String... parsePatterns) throws ParseException {
    return parseDate(str, (Locale)null, parsePatterns);
}