首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在java中验证(mm/yyyy)类型的日期格式

在java中验证(mm/yyyy)类型的日期格式
EN

Stack Overflow用户
提问于 2018-10-15 02:44:01
回答 2查看 1.1K关注 0票数 -1

如何将日期格式MM/YYYY验证为字符串示例-

09/20错误

13/5651错误

3/2104真

3/2010真

EN

回答 2

Stack Overflow用户

发布于 2018-10-15 03:12:12

您需要的是一个自定义的方法,因为您对日期的有效性设置了特殊的约束。

下面通过了你所有的4个例子:

代码语言:javascript
复制
public static boolean validDate(String date) {
    date = date.trim();
    if (date.length() < 6)
        return false;

    String[] parts = date.split("/");
    if (parts.length != 2)
        return false;

    int month = 0;
    try {
        month = Integer.parseInt(parts[0]);
    } catch (NumberFormatException e) {
        e.printStackTrace();
        return false;
    }
    if (month < 1 || month > 12)
        return false;

    int year = 0;
    try {
        year = Integer.parseInt(parts[1]);
    } catch (NumberFormatException e) {
        e.printStackTrace();
        return false;
    }
    if (year < 1000)
        return false;

    return true;
}

public static void main(String[] args) {
    String s1 = "09/20";
    String s2 = "13/5651";
    String s3 = "3/2104";
    String s4 = "03/2010";

    System.out.println(s1 + " " + validDate(s1));
    System.out.println(s2 + " " + validDate(s2));
    System.out.println(s3 + " " + validDate(s3));
    System.out.println(s4 + " " + validDate(s4));
}

将打印:

代码语言:javascript
复制
09/20 false
13/5651 false
3/2104 true
03/2010 true

这一部分我不太确定:

代码语言:javascript
复制
if (year < 1000)
    return false;

如果你愿意,你可以改变它。

票数 0
EN

Stack Overflow用户

发布于 2018-12-05 17:46:34

代码语言:javascript
复制
public boolean isThisDateValid(String dateToValidate, String dateFromat){

    if(dateToValidate == null){
        return false;
    }

    SimpleDateFormat sdf = new SimpleDateFormat(dateFromat);
    sdf.setLenient(false);

    try {

        //if not valid, it will throw ParseException
        Date date = sdf.parse(dateToValidate);
        System.out.println(date);

    } catch (ParseException e) {

        e.printStackTrace();
        return false;
    }

    return true;
}

参考https://www.mkyong.com/java/how-to-check-if-date-is-valid-in-java/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52805937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档