java日期转换为oracle日期

来源:互联网 发布:淘宝2.5亿火炬红包 编辑:程序博客网 时间:2024/05/17 01:18

本文中日期使用的是java.util.Date。

碰到这个问题时,我先查看了Oracle函数,是否有转换日期的函数,当我看到to_date时我就乐了。可以问题又来了,它 是把字符串转换为Oracle中的日期类型。也就是说我要提供字符串格式的日期,但是让用户提供日期字符串,格式就没法保证了。所以,应该让用户提供Date,我来将Date转换成指定格式的字符串,再使用to_date函数转换成Oracle可识别的日期即可。于是,我又找到了SimpleDateFormat(String pattern)。目前这个思路有点繁琐,日后找到简洁的方式再更新。

Java格式化Date代码如下:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String dateString = sdf.format(date).toString();

Java中将字符串格式化为时间时可用:yyyy-MM-dd hh:mm:ss,但是Oracle中to_date却会报“format code appers twice”,因为Oracle不区分字符串的大小写,“mm”出现了两次,所以正确写法是”yyyy-MM-dd hh:mi:ss”。

update  TABLE_NAME  set DATE =  to_date('" + dateString+ "','yyyy-MM-dd hh:mi:ss') where ID =?

另外:java中的小时是24小时制,而”yyyy-MM-dd hh:mi:ss”中的小时是12小时制,解决办法很简单,只需要在hh后加上“24”即可:yyyy-MM-dd hh24:mi:ss

update  TABLE_NAME  set DATE =  to_date('" + dateString+ "','yyyy-MM-dd hh24:mi:ss') where ID =?