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;
}
}
這些策略可以根據你的需求進行組合使用,以實現更好的錯誤處理和用戶體驗。