如何检查String是否在Java中包含唯一的日期格式?

时间:2015-04-15 11:39:26

标签: java string date datetime date-format

  1. 如何查找字符串包含完全日期格式,而不是单日期格式的检查,我想检查各种格式的字符串?
  2. 如果字符串与各种格式匹配,则表示返回布尔值。
  3. 可以使用Date数组吗?
  4. 这是代码示例行:

    Date[] dates = {"12/09/2014","2014/09/09"....};
    

2 个答案:

答案 0 :(得分:4)

有几种方法可以做到这一点。例如,您可以通过像这样设置几种已知日期格式,然后使用for循环检查日期字符串。

// List of all date formats that you want to parse
private static List<simpledateformat>; 
        dateFormats = new ArrayList<simpledateformat>() {{
        add(new SimpleDateFormat("M/dd/yyyy"));
        add(new SimpleDateFormat("dd.M.yyyy"));
        add(new SimpleDateFormat("M/dd/yyyy hh:mm:ss a"));
        add(new SimpleDateFormat("dd.M.yyyy hh:mm:ss a"));
        add(new SimpleDateFormat("dd.MMM.yyyy"));
        add(new SimpleDateFormat("dd-MMM-yyyy"));
    }

以下是另一位研究员的完整实施:http://viralpatel.net/blogs/check-string-is-valid-date-java/


您还可以使用正则表达式。以下是一些示例代码,用于执行您要求的操作:http://www.mkyong.com/regular-expressions/how-to-validate-date-with-regular-expression/

答案 1 :(得分:0)

日期d =新日期();

    System.out.println("DATE  :"+ new SimpleDateFormat("dd.M.yyyy").format(d));
    System.out.println("DATE  :"+ new SimpleDateFormat("M/dd/yyyy").format(d));
    System.out.println("DATE  :"+ new SimpleDateFormat("M/dd/yyyy hh:mm:ss a").format(d));
    System.out.println("DATE  :"+ new SimpleDateFormat("dd.M.yyyy hh:mm:ss a").format(d));
    System.out.println("DATE  :"+ new SimpleDateFormat("M/dd/yyyy").format(d));
    System.out.println("DATE  :"+ new SimpleDateFormat("dd.MMM.yyyy").format(d));
    System.out.println("DATE  :"+ new SimpleDateFormat("dd-MMM-yyyy").format(d));
    System.out.println("DATE  :"+ new SimpleDateFormat("EEEE, MMMM d, yyyy HH:mm z").format(d));
    System.out.println("DATE  :"+ new SimpleDateFormat("MMMM d, yyyy HH:mm z").format(d));
    System.out.println("DATE  :"+ new SimpleDateFormat("EEE, MMM d, yyyy HH:mm z").format(d));
    System.out.println("DATE  :"+ new SimpleDateFormat("MMM d, yyyy HH:mm z").format(d));
    System.out.println("DATE  :"+ new SimpleDateFormat("EEE, MM/dd/yyyy HH:mm:ss z").format(d));
    System.out.println("DATE  :"+ new SimpleDateFormat("MM/dd/yyyy HH:mm:ss z").format(d));
    System.out.println("DATE  :"+ new SimpleDateFormat("EEE, M/d/yy hh:mm").format(d));