Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 8–DateTimeFormatter:格式化Oracle日期_Java_Oracle_Date_Java 8_Datetimeformatter - Fatal编程技术网

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
<--------------------------->