Here you can find the source of parseDate(String date)
@SuppressWarnings("deprecation") public static ArrayList<Long> parseDate(String date)
//package com.java2s; //License from project: Apache License import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; public class Main { private static ArrayList<SimpleDateFormat> dateFormats = null; private static Calendar cal = Calendar.getInstance(); @SuppressWarnings("deprecation") public static ArrayList<Long> parseDate(String date) { date = date.trim();/*from ww w .j a va 2 s . c o m*/ ArrayList<Long> pdates = new ArrayList<Long>(); if (dateFormats == null) { dateFormats = new ArrayList<SimpleDateFormat>(); dateFormats.add(new SimpleDateFormat("yyyy-MM-dd")); dateFormats.add(new SimpleDateFormat("yyyy MM dd")); dateFormats.add(new SimpleDateFormat("yyyy.MM.dd")); dateFormats.add(new SimpleDateFormat("yyyy-MMM-dd")); dateFormats.add(new SimpleDateFormat("yyyy MMM dd")); dateFormats.add(new SimpleDateFormat("yyyy.MMM.dd")); /* dateFormats.add(new SimpleDateFormat("dd-MM-yyyy")); dateFormats.add(new SimpleDateFormat("dd MM yyyy")); dateFormats.add(new SimpleDateFormat("dd.MM.yyyy")); dateFormats.add(new SimpleDateFormat("dd-MMM-yy")); dateFormats.add(new SimpleDateFormat("dd MMM yy")); dateFormats.add(new SimpleDateFormat("dd.MMM.yy")); dateFormats.add(new SimpleDateFormat("dd/MMM/yy")); */ dateFormats.add(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss")); dateFormats.add(new SimpleDateFormat("yyyy MM dd hh:mm:ss")); dateFormats.add(new SimpleDateFormat("yyyy.MM.dd hh:mm:ss")); dateFormats.add(new SimpleDateFormat("yyyy/MM/dd hh:mm:ss")); dateFormats.add(new SimpleDateFormat("yyyy-MMM-dd hh:mm:ss")); dateFormats.add(new SimpleDateFormat("yyyy MMM dd hh:mm:ss")); dateFormats.add(new SimpleDateFormat("yyyy.MMM.dd hh:mm:ss")); dateFormats.add(new SimpleDateFormat("yyyy/MMM/dd hh:mm:ss")); /* dateFormats.add(new SimpleDateFormat("dd-MM-yyyy hh:mm:ss")); dateFormats.add(new SimpleDateFormat("dd MM yyyy hh:mm:ss")); dateFormats.add(new SimpleDateFormat("dd.MM.yyyy hh:mm:ss")); dateFormats.add(new SimpleDateFormat("dd/MM/yyyy hh:mm:ss")); dateFormats.add(new SimpleDateFormat("dd-MMM-yyyy hh:mm:ss")); dateFormats.add(new SimpleDateFormat("dd MMM yyyy hh:mm:ss")); dateFormats.add(new SimpleDateFormat("dd.MMM.yyyy hh:mm:ss")); */ dateFormats.add(new SimpleDateFormat("EEE, dd MMM yyyy kk:mm:ss zzz")); dateFormats.add(new SimpleDateFormat("EEE MMM dd kk:mm:ss zzz yyyy")); dateFormats.add(new SimpleDateFormat("EEE, dd MMM yyyy zzz")); dateFormats.add(new SimpleDateFormat("EEE, MMM dd, yyyy")); dateFormats.add(new SimpleDateFormat("yyyy-MM-dd hh:mm:ss zzz")); dateFormats.add(new SimpleDateFormat("yyyy-MM-dd_hh:mm:ss zzz")); dateFormats.add(new SimpleDateFormat("MMM dd, yyyy")); dateFormats.add(new SimpleDateFormat("yyyy-MM-dd")); dateFormats.add(new SimpleDateFormat("MM/dd/yyyy hh:mm:ss a")); dateFormats.add(new SimpleDateFormat("MM-dd-yyyy")); dateFormats.add(new SimpleDateFormat("MM.dd.yyyy")); } Date dt = null; for (SimpleDateFormat fmt : dateFormats) { try { fmt.setLenient(true); dt = fmt.parse(date); if (hasYear(dt.toGMTString())) { pdates.add(dt.getTime()); } } catch (Exception e) { // ... } } try { SimpleDateFormat df = new SimpleDateFormat(); df.setLenient(true); dt = df.parse(date); if (hasYear(dt.toGMTString())) { pdates.add(dt.getTime()); } } catch (ParseException p_ex) { // ... } return pdates; } private static boolean hasYear(String gmt_dt) { int year = cal.get(Calendar.YEAR); // mm fine boolean isdate = false; String[] dt_pts = gmt_dt.split(" "); for (String dt_pt : dt_pts) { if (dt_pt.length() < 4) continue; try { int yr = Integer.parseInt(dt_pt); if (yr <= year && yr > 1900) isdate = true; } catch (Exception ugh) { // } } return isdate; } }