猿问

如何将 Oracle 中的 Date 数据类型(格式“01-JAN-19”)转换为 Java

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

LocalDate.parse(resultSet.getString(5))


桃花长相依
浏览 133回答 2
2回答

HUWWW

注意:我对 Oracle 及其处理日期的方式一无所知,因此可能会有更好的答案。假设您LocalDate要从 a 创建一个对象String,例如"01-JAN-19",您必须使用 aDateTimeFormatterBuilder并调用DateTimeFormatterBuilder#parseCaseInsensitive(因为您的示例中的月份是大写的):var formatter = new DateTimeFormatterBuilder().parseCaseInsensitive()         .appendPattern("dd-MMM-yy").toFormatter(); System.out.println(LocalDate.parse("01-JAN-19", formatter));输出:2019-01-01LocalDate#parse不适合你,因为你指定mm(指的是分钟而不是月),以及它默认情况下试图解析区分大小写。

白衣染霜花

不要ResultSet.getString用于约会。由于JDBC 4.2立即获得LocalDate:resultSet.getObject(5, LocalDate.class)请注意使用getObject而不是getString或getDate。
随时随地看视频慕课网APP

相关分类

Java
我要回答