为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

桃花长相依 2022-12-15 11:28:59
我尝试使用 LocalDate.parse() 进行转换,但没有成功。在数据库中,所有日期的格式均为“01-JAN-19”(dd-mm-yy)。LocalDate.parse(resultSet.getString(5))
查看完整描述

2 回答

?
HUWWW

TA贡献1874条经验 获得超12个赞

注意:我对 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-01

LocalDate#parse不适合你,因为你指定mm(指的是分钟而不是),以及它默认情况下试图解析区分大小写。


查看完整回答
反对 回复 2022-12-15
?
白衣染霜花

TA贡献1796条经验 获得超10个赞

不要ResultSet.getString用于约会。由于JDBC 4.2立即获得LocalDate

resultSet.getObject(5, LocalDate.class)

请注意使用getObject而不是getStringgetDate


查看完整回答
反对 回复 2022-12-15
  • 2 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信