Java 8–DateTimeFormatter:格式化Oracle日期
我有这个功能:Java 8–DateTimeFormatter:格式化Oracle日期,java,oracle,date,java-8,datetimeformatter,Java,Oracle,Date,Java 8,Datetimeformatter,我有这个功能: private static boolean isDate(String rowData, String pattern) { try { DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern, Locale.getDefault()); LocalDate.parse(rowData, formatter).atStartOfDay(ZoneId.system
private static boolean isDate(String rowData, String pattern) {
try {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern, Locale.getDefault());
LocalDate.parse(rowData, formatter).atStartOfDay(ZoneId.systemDefault()).toInstant();
return true;
} catch (Exception e) {
return false;
}
}
及
但我得到的结果是:
value -> 1 Aug 2020
isDate -> false
<--------------------------->
<--------------------------->
value -> 31 Jul 2099
isDate -> true
如果您将ORACLE_DATE_FORMAT2更改为d MMM yyy,则此选项有效。根据,当日期被指定为dd时,它需要一个2字符的月日表示,例如2020年8月1日
请注意,此更改将成功地在2020年8月1日和2020年8月1日进行
<--------------------------->
value -> 01 Aug 2020
isDate -> true
<--------------------------->
如果您将ORACLE_DATE_FORMAT2更改为d MMM yyy,则此选项有效。根据,当日期被指定为dd时,它需要一个2字符的月日表示,例如2020年8月1日
请注意,此更改将成功地在2020年8月1日和2020年8月1日进行
<--------------------------->
value -> 01 Aug 2020
isDate -> true
<--------------------------->
2020年8月1日至2020年8月1日
<--------------------------->
value -> 1 Aug 2020
isDate -> true
<--------------------------->