Java Date Value Check isDate(String dateStr, String dateFormat)

Here you can find the source of isDate(String dateStr, String dateFormat)

Description

is Date

License

Apache License

Declaration

public static boolean isDate(String dateStr, String dateFormat) 

Method Source Code


//package com.java2s;
//License from project: Apache License 

import java.text.ParseException;
import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
    private static final String dateRegx = "^((\\d{2}(([02468][048])|([13579][26]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])))))|(\\d{2}(([02468][1235679])|([13579][01345789]))[\\-\\/\\s]?((((0?[13578])|(1[02]))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[\\-\\/\\s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[\\-\\/\\s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(\\s(((0?[0-9])|([1-2][0-3]))\\:([0-5]?[0-9])((\\s)|(\\:([0-5]?[0-9])))))?$";
    public static String yyyyMMddSplit = "yyyy-MM-dd";

    public static boolean isDate(String dateStr) {
        Pattern pattern = Pattern.compile(dateRegx);
        Matcher matcher = pattern.matcher(dateStr);
        return matcher.matches();
    }// www . ja va2 s  .co  m

    public static boolean isDate(String dateStr, String dateFormat) {
        boolean isDate = true;
        Pattern pattern = Pattern.compile(dateRegx);
        Matcher matcher = pattern.matcher(dateStr);
        if (matcher.matches()) {
            try {
                stringToDate(dateStr, dateFormat);
            } catch (Exception e) {
                isDate = false;
            }
        } else {
            isDate = false;
        }

        return isDate;
    }

    public static Date stringToDate(String dateStr) throws ParseException {
        SimpleDateFormat formater = new SimpleDateFormat(yyyyMMddSplit);
        Date date = formater.parse(dateStr);
        return date;
    }

    public static Date stringToDate(String dateStr, String format) throws ParseException {
        SimpleDateFormat formater = new SimpleDateFormat(format);
        Date date = formater.parse(dateStr);
        return date;
    }
}

Related

  1. isDate(final String date)
  2. isDate(final String dateString)
  3. isDate(final String strDate, final String pattern)
  4. isDate(Object object)
  5. isDate(String date)
  6. isDate(String dateString)
  7. isDate(String dttm, String format)
  8. isDate(String input)
  9. isDate(String input)