如何使用Java

时间:2019-05-25 16:53:19

标签: java database oracle localdate

我尝试使用LocalDate.parse()进行转换,但不起作用。在数据库中,所有日期的格式均为“ 01-JAN-19”(dd-mm-yy)。

LocalDate.parse(resultSet.getString(5))

2 个答案:

答案 0 :(得分:2)

注意:我对Oracle及其如何处理日期一无所知,因此可能会有更好的答案。


假设您要从LocalDate创建String对象,例如"01-JAN-19",则必须使用DateTimeFormatterBuilder并调用{{3} }(因为示例中的月份是大写):

var formatter = new DateTimeFormatterBuilder().parseCaseInsensitive()
        .appendPattern("dd-MMM-yy").toFormatter();
System.out.println(LocalDate.parse("01-JAN-19", formatter));

输出:

2019-01-01

LocalDate#parse对您不起作用,因为您指定了mm(它是指分钟而不是 months )默认情况下尝试解析区分大小写。

答案 1 :(得分:1)

请勿使用ResultSet.getString作为日期。由于JDBC 4.2立即获得LocalDate

resultSet.getObject(5, LocalDate.class)

请注意使用getObject而不是getStringgetDate