首页  >  文章  >  Java  >  如何在 Java 中根据特定格式验证日期字符串?

如何在 Java 中根据特定格式验证日期字符串?

Linda Hamilton
Linda Hamilton原创
2024-10-30 06:26:27767浏览

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

Java 中如何检查当前字符串的日期格式是否符合要求

问题:

开发一个Java 方法来验证用户输入的字符串是否与指定的日期格式匹配,同时考虑仅日期和日期时间格式。

解决方案:

在评估各种方法后,我们决定使用 SimpleDateFormat 类。下面是详细实现:

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

用法:

将所需的日期格式作为第一个参数,将输入字符串作为第二个参数传递给 isValidFormat 方法。该方法返回一个布尔值,指示输入字符串是否与指定格式匹配。

示例输出:

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

以上是如何在 Java 中根据特定格式验证日期字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn