java.sql.Date对应标准sql里的Date类型,它会把时、分、秒、毫秒位置归零,除非确认程序逻辑的确要这样做,否则时间变量采用这种类型时会导致逻辑错误。
javadoc:
为了与 SQL DATE 的定义一致,由 java.sql.Date 实例包装的毫秒值必须通过将小时、分钟、秒和毫秒设置为与该实例相关的特定时区中的零来“规范化”。
怪不得插入以后再读出来,日期是对的,时间全是0
将数据类型改为java.util.date? 不行:java.sql.SQLException: 无效的列类型 Query
换用java.sql.timestamp,但是又得到java.lang.IllegalArgumentException: Cannot convert oracle.sql.TIMESTAMP@1d7e64f of type class oracle.sql.TIMESTAMP to class java.util.Date
最后搜到这一篇,先存着,应该可行
java操作oracle时间
作者:武林 日期:2009-04-21
字体大小: 小 中 大
以前也遇到到JAVA到oracle的时间问题,要不就是时间精度不够,要不是时间格式不正确,小问题能烦死人啊!
今天找到个方法了。当然不一定是最好,如果以后发现更好的解决方法再来改正。
首页oracle那头用于存储时间的类型用TIMESTAMP类型,然后java这边用下面代码进行时间格式化
Java代码
1. Calendar c=new GregorianCalendar();
2. java.util.Date d = c.getTime();
3. java.sql.Timestamp ts= new java.sql.Timestamp(d.getTime());
然后存入oracle。不过在oracle里头看的话会显示这种格式“21-4月 -09 04.20.34.562000 下午”。
不过没关系,只要取出来的时候不是这样就可以了。
接着取出时间,会发现这个时间精度很高,样式:“2009-04-21 16:59:38.093”
一般情况下我们只需要精确到秒就OK了,所以也要格式化一下:
Java代码
1. public static String getDate(Timestamp date) {
2. return new SimpleDateFormat("yyyy.MM.dd HH:mm:ss").format(date);
3. }
OK了!
分享到:
相关推荐
java.util.Date utilDate = new java.util.Date(sqlDate.getTime()); ``` #### 三、字符串转换为日期时间格式 将字符串转换为日期时间格式通常需要用到`SimpleDateFormat`类。下面分别介绍两种常见的字符串到日期...
java.util.Date utilDate = new java.util.Date(sqlDate.getTime()); // java.util.Date 转换为 java.sql.Date java.util.Date utilDate = new java.util.Date(); java.sql.Date sqlDate = new java.sql.Date...
System.out.println(sqlDate.getTime()); } catch (Exception ex) { System.out.println(ex.getMessage()); } 方法2: String strDate = "2002-08-09"; StringTokenizer st = new StringTokenizer(strDate, "-"); ...
java.util.Date utilDate = new java.util.Date(sqlDate.getTime()); 二、字符串转换为日期时间格式 可以使用SimpleDateFormat将字符串转换为日期时间格式: String dateStringToParse = "2007-7-12"; ...
Java编程语言提供了两个重要的日期处理类,分别是`java.util.Date`和`java.sql.Date`,它们在处理日期和时间上有着不同的特性和用途。 `java.util.Date`是更通用的日期时间类,它包含了日期和时间的信息,可以精确...
"JAVA String转化成java.sql.date和java.sql.time方法示例" JAVA String转化成java.sql.date和java.sql.time方法示例是Java开发中常见的操作,下面我们将详细介绍这两个方法的实现过程。 java.sql.Date和java.util...
java_sql_Date与java_util_Date转换
在Java编程中,日期处理是常见的任务之一,`java.util.Date` 和 `java.sql.Date` 都是用来表示日期的类,但它们之间存在显著的区别和用法差异。 首先,`java.util.Date` 是 Java 核心库 `java.util` 包中的类,它...
类型转换 ( Java.util.date与java.sql.date区别和转换
此java文件包括常用的日期类型之间的转换,包括java.util.Date、java.sql.Date、String之间的任意类型、格式转换......
java.sql.Date sqlDate = stringToSqlDate(dateString, formatStr); System.out.println("Converted SQL Date: " + sqlDate); } catch (Exception e) { e.printStackTrace(); } } } ``` #### 四、代码解释 1...
java.util.Date utilDate = new java.util.Date(sqlDate.getTime()); ``` 在处理日期格式化时,`SimpleDateFormat` 类用于将日期对象转换为字符串或将字符串解析为日期对象。例如: ```java SimpleDateFormat f ...
Date sqlDate = new java.sql.Date(format.parse(dateStr).getTime()); // 将字符串转换为sql.Date System.out.println("Util Date: " + utilDate); System.out.println("SQL Date: " + sqlDate); } catch ...
在 Android 中,使用 java.util.Date 类来表示日期类型数据,而 java.sql.Date 类则是为了配合 SQL DATE 而设置的数据类型。java.sql.Date 类只包含年月日信息,因为数据库中存在的非规范化部分的信息,如时分秒毫秒...
java中util.date和sql.date的类型转换问题.帮助大家很完善的了解关于java日期类型和数据库日期类型转换的问题,很值得拥有.