Home  >  Article  >  Java  >  How to Validate a Date String Against a Specific Format in Java?

How to Validate a Date String Against a Specific Format in Java?

Linda Hamilton
Linda HamiltonOriginal
2024-10-30 06:26:27767browse

How to Validate a Date String Against a Specific Format in Java?

How to Check the Date Format of Current String Is According to Required Format in Java

Question:

Develop a Java method to validate if a user-inputted string matches a specified date format, considering both date-only and datetime formats.

Solution:

After evaluating various approaches, we settled on using the SimpleDateFormat class. Here's the detailed implementation:

<code class="java">import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateFormatter {

    public static boolean isValidFormat(String format, String value) {
        Date date = null;
        SimpleDateFormat sdf = new SimpleDateFormat(format);
        try {
            date = sdf.parse(value);
            if (!value.equals(sdf.format(date))) {
                date = null;
            }
        } catch (ParseException e) {
            // Date parsing failed
        }
        return date != null;
    }

    public static void main(String[] args) {
        System.out.println("isValid - dd/MM/yyyy with 20130925 = " + isValidFormat("dd/MM/yyyy", "20130925"));
        System.out.println("isValid - dd/MM/yyyy with 25/09/2013 = " + isValidFormat("dd/MM/yyyy", "25/09/2013"));
        System.out.println("isValid - dd/MM/yyyy with 25/09/2013 12:13:50 = " + isValidFormat("dd/MM/yyyy", "25/09/2013  12:13:50"));
        System.out.println("isValid - yyyy-MM-dd with 2017-18--15 = " + isValidFormat("yyyy-MM-dd", "2017-18--15"));
    }
}</code>

Usage:

Pass the required date format as the first argument and the input string as the second argument to the isValidFormat method. The method returns a boolean value indicating whether the input string matches the specified format.

Sample Output:

isValid - dd/MM/yyyy with 20130925 = false
isValid - dd/MM/yyyy with 25/09/2013 = true
isValid - dd/MM/yyyy with 25/09/2013 12:13:50 = false
isValid - yyyy-MM-dd with 2017-18--15 = false

The above is the detailed content of How to Validate a Date String Against a Specific Format in Java?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn