gpt4 book ai didi

java - 将字符串转换为日期 - 日期验证

转载 作者:行者123 更新时间:2023-12-01 19:10:31 33 4
gpt4 key购买 nike

当用户以错误格式输入日期时,我收到空指针异常。

将字符串转换为日期的方法

 Date stringToDate(String dateString) {

Date returnDate = null;
if (dateString!= null && dateString.length() > 0 && isValidDate(dateString)) {
returnDate = dateFormat.parse(dateStr);
}
return returnDate;
}

boolean isValidDate(String date) {
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
Pattern datePattern = Pattern.compile("[0-9]{2}/[0-9]{2}/[0-9]{4}");
Matcher datePatternMatch = datePattern.matcher(date);

boolean datePatternMatchfound = datePatternMatch.matches();

if(date==null){
return false;
} else if(date!=null && date.length()>0){
if(datePatternMatchfound){
sdf.setLenient(false);
sdf.parse(date.trim());
}
return true;
} else {
return false;
}
}

我只是想知道......

1)日期的有效模式应该是什么?

2)如果用户输入错误的日期,stringToDate方法肯定会失败并抛出空指针异常。如何避免这种情况?

任何帮助将不胜感激。

最佳答案

您假设 SimpleDateFormat(MM-dd-yyyyas 作为用户输入的默认模式,您应该确保您的用户只能以 SimpleDateFormat 输入,或者您应该在 isValidDate() 中进行更改以接受

关于java - 将字符串转换为日期 - 日期验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8562078/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com