簡體   English   中英

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

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

  1. 如何查找包含完整日期格式的字符串,而不是單日期格式的支票,我想檢查各種格式的字符串?
  2. 如果字符串與各種格式匹配,則意味着返回布爾值。
  3. 可以使用Date數組嗎?

這是代碼示例行:

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

有幾種方法可以做到這一點。 例如,您可以通過這樣設置幾種已知的日期格式來測試它們,然后使用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/

日期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