如何使用 java 验证日期字符串是否符合预期格式

本文将介绍如何使用 java 验证日期字符串是否符合预期格式,例如:2024-08-21 是否符合 yyyy-MM-dd 日期格式

在这个示例中,使用 SimpleDateFormat 类来尝试解析给定的日期字符串。通过将格式设置为 yyyy-MM-dd 并将其设置为不宽容模式(即不允许无效日期,如2月30日等)。如果解析成功则表示日期是有效的,否则无效。

以下是用 Java 验证日期正确性的方法:

/**
 * 验证输入的日期字符串是否符合 yyyy-MM-dd 格式
 */
public static boolean isValidDate(String dateStr) {
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    // 禁用宽松解析
    sdf.setLenient(false);  
    try {
        // 解析日期格式,不抛出异常,则符合预期格式
        sdf.parse(dateStr);
        return true;
    } catch (ParseException e) {
        // 抛出异常,则不是预期的日期格式
        return false;
    }
}

测试代码:

package com.hxstrive.demo202408;

import java.text.ParseException;
import java.text.SimpleDateFormat;

/**
 * 验证日期格式是否有效
 * @author hxstrive.com
 */
public class Demo20240821134004 {

    public static boolean isValidDate(String dateStr) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        sdf.setLenient(false);
        try {
            sdf.parse(dateStr);
            return true;
        } catch (ParseException e) {
            return false;
        }
    }

    public static void main(String[] args) {
        String validDate = "2024-08-21";
        String invalidDate = "2024-13-21";

        System.out.println(validDate + " is valid? " + isValidDate(validDate));
        System.out.println(invalidDate + " is valid? " + isValidDate(invalidDate));
    }

}

运行输出结果:

2024-08-21 is valid? true
2024-13-21 is valid? false

天下之事常成于困约,而败于奢靡。——陆游
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号