- Java Programming Examples
- Example - Home
- Example - Environment
- Example - Strings
- Example - Arrays
- Example - Date & Time
- Example - Methods
- Example - Files
- Example - Directories
- Example - Exceptions
- Example - Data Structure
- Example - Collections
- Example - Networking
- Example - Threading
- Example - Applets
- Example - Simple GUI
- Example - JDBC
- Example - Regular Exp
- Example - Apache PDF Box
- Example - Apache POI PPT
- Example - Apache POI Excel
- Example - Apache POI Word
- Example - OpenCV
- Example - Apache Tika
- Example - iText
- Java Tutorial
- Java - Tutorial
- Java Useful Resources
- Java - Quick Guide
- Java - Useful Resources
How to check whether date is in proper format or not using Java
Problem Description
How to check whether date is in proper format or not?
Solution
Following example demonstrates how to check whether the date is in a proper format or not using matches method of String class.
public class Main { public static void main(String[] argv) { boolean isDate = false; String date1 = "8-05-1988"; String date2 = "08/04/1987"; String datePattern = "\\d{1,2}-\\d{1,2}-\\d{4}"; isDate = date1.matches(datePattern); System.out.println("Date :"+ date1+": matches with the this date Pattern:"+datePattern+"Ans:"+isDate); isDate = date2.matches(datePattern); System.out.println("Date :"+ date2+": matches with the this date Pattern:"+datePattern+"Ans:"+isDate); } }
Result
The above code sample will produce the following result.
Date :8-05-1988: matches with the this date Pattern: \d{1,2}-\d{1,2}-\d{4}Ans:true Date :08/04/1987: matches with the this date Pattern: \d{1,2}-\d{1,2}-\d{4}Ans:false
The following is an example to check check whether date is in proper format or not.
import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { public static void main(String args[]) { List dates = new ArrayList(); dates.add("25/12/1990"); dates.add("25/12/1990"); dates.add("12/12/90"); dates.add("05/02/1990"); String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$"; Pattern pattern = Pattern.compile(regex); for(Object date : dates) { Matcher matcher = pattern.matcher((CharSequence) date); System.out.println(date +" : "+ matcher.matches()); } } }
Result
The above code sample will produce the following result.
25/12/1990 : false 25/12/1990 : false 12/12/90 : false 05/02/1990 : true
java_regular_exp.htm
Advertisements