简体   繁体   English

如何检查字符串是否在Java中仅包含日期格式?

[英]How to check if String contains a only Date format in Java?

  1. How to find a String contains fully on date formats, not an check with single date format, I want to check string with various formats? 如何查找包含完整日期格式的字符串,而不是单日期格式的支票,我想检查各种格式的字符串?
  2. If a string matches with various formats means return boolean value. 如果字符串与各种格式匹配,则意味着返回布尔值。
  3. Is that possible to use a Date array? 可以使用Date数组吗?

This is the sample line of code: 这是代码示例行:

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

There are several ways to do this. 有几种方法可以做到这一点。 For example, you can test several known date formats by setting them like this, then using a for-loop to check your date string. 例如,您可以通过这样设置几种已知的日期格式来测试它们,然后使用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"));
    }

Here's a full implementation from another fellow: http://viralpatel.net/blogs/check-string-is-valid-date-java/ 这是另一个人的完整实现: http : //viralpatel.net/blogs/check-string-is-valid-date-java/


You can also use regular expressions. 您也可以使用正则表达式。 Here is some sample code to do what you' re asking: http://www.mkyong.com/regular-expressions/how-to-validate-date-with-regular-expression/ 以下是一些示例代码,可满足您的要求: http : //www.mkyong.com/regular-expressions/how-to-validate-date-with-regular-expression/

Date d=new Date(); 日期d = new Date();

    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));

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM