小编sn *_*n s的帖子

Java日期验证

我需要验证用户输入为有效日期.用户可以输入dd/mm/yyyy或mm/yyyy(两者都有效)

验证我正在做的事情

try{
    GregorianCalendar cal = new GregorianCalendar(); 
    cal.setLenient(false);  
    String []userDate = uDate.split("/");
    if(userDate.length == 3){
        cal.set(Calendar.YEAR, Integer.parseInt(userDate[2]));  
        cal.set(Calendar.MONTH, Integer.parseInt(userDate[1]));  
        cal.set(Calendar.DAY_OF_MONTH, Integer.parseInt(userDate[0]));
        cal.getTime(); 
    }else if(userDate.length == 2){
        cal.set(Calendar.YEAR, Integer.parseInt(userDate[1]));  
        cal.set(Calendar.MONTH, Integer.parseInt(userDate[0]));  
        cal.getTime(); 
    }else{
            // invalid date
    }
}catch(Exception e){
    //Invalid date
}
Run Code Online (Sandbox Code Playgroud)

作为GregorianCalendar开始月份0,03/01/2009或12/2009给出错误.

任何建议如何解决这个问题.

java date

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

date ×1

java ×1