当前位置:   article > 正文

Java校验日期的合法性_java校验日期是否合法

java校验日期是否合法

判断一个日期是否合法,如2022-02-29、2022-13-01就属于不合法日期

public class TEST2 {
    public static void main(String[] args) {
        boolean flag =legallyDate("20220229");
        System.out.println(flag);
        //输出结果为false
    }
    public static boolean legallyDate(String date){

        //将String类型的日期转换为Integer类型进行判断
        int dateInt =  Integer.parseInt( date);
        //取出日期中的年月日分别进行判断
        int year = dateInt / 10000;
        int month = (dateInt % 10000) / 100;
        int day = dateInt % 100;

        //定义一个合法月份的天数数组,校验天数是否合法
        int [] arr = {31,28,31,30,31,30,31,31,30,31,30,31};
        //由于平年二月28天,闰年二月29天,需额外赋值
        if((year % 4 == 0 && year %100 != 0) || year % 400 == 0){
            arr[1] = 29; //闰年
        }else{
            arr[1] = 28; //平年
        }

        //校验月份是否合法,0<month<13
        if(month >0 && month < 13){
            if(day <=arr[month-1] && day>0){
                return true;
            }
        }
        return false;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/52163
推荐阅读
相关标签
  

闽ICP备14008679号