2015-04-15 7 views
1
  1. Как найти строку, содержащую полностью на форматах даты, а не проверку с единственным форматом даты, я хочу проверить строку с различными форматами?
  2. Если строка соответствует различным форматам, означает возврат логического значения.
  3. Возможно ли использовать массив Date?

Это пример строки кода:Как проверить, содержит ли String только формат даты в Java?

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

Это может помочь: http://www.mkyong.com/regular-expressions/how-to-validate-date-with-regular-expression/ – Drakes

+0

Вы должны создать более одного регулярного выражения и проверить список с те шаблон –

+0

возможный дубликат [Проверить, содержит ли строка только дату] (http://stackoverflow.com/questions/28272843/check-if-a-string-contains-only-date) – Shekhu

ответ

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

Есть несколько способов сделать это. Например, вы можете протестировать несколько известных форматов дат, установив их так, а затем используя for-loop, чтобы проверить вашу строку даты.

// 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/

Смежные вопросы