如何在java中获取特定的日期类型

如何在java中获取特定的日期类型,java,oracle,jdbc,Java,Oracle,Jdbc,我正在使用以下方法将此字符串获取到日期('2011/06/02','yyyy/mm/dd') 我怎样才能生成类似于这样的内容到日期('2011-05-27 12:45:56.1',…)即,除了日期之外,我怎样才能以毫秒为单位包含时间,然后更新到数据库中 在引用了trutheality的答案后,添加了一个oracleinsert语句,但这给了我01810。00000-“格式代码出现两次”错误 INSERT INTO CONFIG_INFO(CFG_ID,CFG_NAME,CFG_DESC,CFG_

我正在使用以下方法将此字符串
获取到日期('2011/06/02','yyyy/mm/dd')

我怎样才能生成类似于这样的内容到日期('2011-05-27 12:45:56.1',…)即,除了日期之外,我怎样才能以毫秒为单位包含时间,然后更新到数据库中

在引用了
trutheality
的答案后,添加了一个oracle
insert语句,但这给了我
01810。00000-“格式代码出现两次”
错误

INSERT INTO CONFIG_INFO(CFG_ID,CFG_NAME,CFG_DESC,CFG_TYPE,FILE_NAME,ABSOLUTE_PATH,EMAIL_ADDRESS,PROJECT_ID,HOSTNAME,CREATE_DATE,UPDATE_DATE,STATE,PRODUCT_ID)
    VALUES (config_seq.NEXTVAL,'Abhishek','as','Production','asdclient1.xml','E:tomcat 5.5bin/../webapps/asd/files/asdclient.xml','a@a.com','ABC','abhinix',to_date('2011/06/02 11:18:38.211','yyyy/MM/dd HH:mm:ss.SSS'),to_date('2011/06/02 11:18:38.211','yyyy/MM/dd HH:mm:ss.SSS'),2,123456)
查看,并找出您的格式字符串应该是什么

大概是

String pattern = "yyyy-MM-dd HH:mm:ss.SSS";
但是正确的方法是使用JDBC驱动程序,正如OMG Ponies所指出的那样。

这样做

 private static String getOperationDate() {
 Date today= new Date();
 String output;
 SimpleDateFormat formatter;
 String pattern="yyyy/MM/dd HH:mm:ss.SSS";

 formatter = new SimpleDateFormat(pattern, Locale.US);
 output = formatter.format(today);
 String temp="to_date('"+output+"','yyyy/mm/dd')";

 return temp;
}

我知道,这是一个旧线程,但我刚刚遇到了一个类似的问题,并显示了相同的错误消息。已经找到了很好的解决方案,但我认为我的发现值得一提

对我来说,正在生成的表达式中的基本问题是:

to_date('2011/06/02 11:18:38','yyyy/MM/dd HH:mm:ss')
因为oracle的分钟代码(将对表达式进行计算)与java的分钟代码不同::“mi”应该使用,因为“mm”保留了几个月(大写和小写并不重要,引用的文档是关于java而不是sql的)。
您得到的错误消息是关于对“mm”参数的双重引用,应该避免这种情况。正确的用法是这样的:

to_date('2011/06/02 11:18:38','yyyy/mm/dd hh:mi:ss')

这应该不是必需的——JDBC驱动程序提供类来将Oracle日期数据类型映射到Java日期,反之亦然。@OMG Ponies:感谢您的回复,在我的例子中,我正在生成一个以
temp
作为绑定参数的查询。我理解您试图做什么,但我想强调的是,这不是一种推荐的方法。我希望你luck@OMG小马:你能给我提供我应该做什么的任何链接或任何示例吗,这将非常有用:)这里是Simon Hi@Bohemian,我的答案与java无关,我不应该提及它,因为它引起了一些混乱。我说的是最新的sql函数。将为粘贴在问题末尾的insert语句抛出错误消息,它会遇到此问题。换言之,问题不在于java代码中的变量
pattern
,而在于
temp
,它会返回,我想稍后会作为sql insert.OK的一部分运行。我对答案进行了编辑,以明确这一点,并给了你+1:)
to_date('2011/06/02 11:18:38','yyyy/mm/dd hh:mi:ss')