DateFormatString
是 Java 中用于定义日期和时间格式的字符串。当使用 SimpleDateFormat
类解析日期和时间时,如果输入的字符串不符合预期的格式,将会抛出 ParseException
异常。为了处理这种异常,你可以采用以下策略:
ParseException
异常,以便在出现异常时执行特定的操作。import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String[] args) {
String dateString = "2021-08-30";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
try {
Date date = dateFormat.parse(dateString);
System.out.println("Parsed date: " + date);
} catch (ParseException e) {
System.err.println("Invalid date format: " + dateString);
e.printStackTrace();
}
}
}
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main {
public static void main(String[] args) {
String dateString = "2021-08-30";
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = new Date(); // 默认值
try {
date = dateFormat.parse(dateString);
} catch (ParseException e) {
System.err.println("Invalid date format: " + dateString);
e.printStackTrace();
}
System.out.println("Parsed date: " + date);
}
}
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String dateString = "2021-08-30";
String dateFormat = "yyyy-MM-dd";
if (isValidDate(dateString, dateFormat)) {
SimpleDateFormat dateFormat = new SimpleDateFormat(dateFormat);
try {
Date date = dateFormat.parse(dateString);
System.out.println("Parsed date: " + date);
} catch (ParseException e) {
System.err.println("Invalid date format: " + dateString);
e.printStackTrace();
}
} else {
System.err.println("Invalid date format: " + dateString);
}
}
public static boolean isValidDate(String dateString, String dateFormat) {
SimpleDateFormat dateFormatObj = new SimpleDateFormat(dateFormat);
dateFormatObj.setLenient(false);
try {
dateFormatObj.parse(dateString);
} catch (ParseException e) {
return false;
}
return true;
}
}
这些策略可以根据你的需求进行组合使用,以实现更好的错误处理和用户体验。