Java Oracle日期格式的实现

Java Oracle日期格式的实现,java,oracle,Java,Oracle,可能重复: 在我的java应用程序中,每次2013年2月5日,我都有一个来自db的不同格式的日期字符串,以及格式模式DD-MON-YYYY 我需要将此日期字符串转换为java.util.date。Java的默认Java.text.DateFormat实现,即Java.text.SimpleDataFormat,在这里不起作用,因为它无法理解oracle数据库的格式模式。我的问题是 1是否还有其他java.text.DateFormat的实现,比如java.text.SimpleDataForm

可能重复:

在我的java应用程序中,每次2013年2月5日,我都有一个来自db的不同格式的日期字符串,以及格式模式DD-MON-YYYY

我需要将此日期字符串转换为java.util.date。Java的默认Java.text.DateFormat实现,即Java.text.SimpleDataFormat,在这里不起作用,因为它无法理解oracle数据库的格式模式。我的问题是

1是否还有其他java.text.DateFormat的实现,比如java.text.SimpleDataFormat,它毕竟是DatePattern的实现,可以接受oracle db的格式模式并返回java.util.Date

2是否有任何实用程序可以从oracle db格式模式中绘制java SimpleDataFormat模式

3是否可以通过其他方式实现


提前感谢

1如果“datevalue”与“datepattern”一起出现,则使用simpleDateFormatter不会有问题

二, //对所有值执行此操作 format=Oracle中的新SimpleDataFormatDatePattern; format.formatdateValueFromOracle


3有多种方法,但这是直截了当的

如果您的值类型是日期,则首先将其按字符串DateStr=value.toString转换为字符串;然后使用SimpleDataFormat类设置如下格式: SimpleDataFormat formatter=新SimpleDataFormatYourFormat; 然后根据您的意愿使用此代码格式化 formatter.formattatestr; 希望这将对您有所帮助。

此模式适用于您的示例日期:dd MMM yyyy。您可能需要将locale设置为English才能工作


你说每次日期的格式都不一样。如果你不知道格式是什么,你怎么可能希望解析一些东西呢?

为什么你会得到一个字符串?您的字段不是数据库中的日期类型吗?请注意,如果您给出正确的模式,SimpleDataFormat肯定会起作用……这是今晚的第二个这样的问题。这一定是一个家庭作业。这个奇怪的API是别人设计的,而你却被卡住了吗?你能给我们看一个实际的代码示例吗?看起来真的很奇怪,你不能让数据库驱动程序像普通的一样转换成java日期对象。它不是通过jdbc实现的。POKER07-JAN-13YIck-日期是XML格式,而不是ISO-8601格式?这根本不起作用。他在问题中提出的java的dateformat不理解oracle数据库格式字符串的断言是正确的。是的,你是对的。我说得很清楚。SimpleDataFormat无法从Oracle中理解DatePattern
SimpleDateFormat format = new SimpleDateFormat(datePatternfromOracle);