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了!
分享到:
相关推荐
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与java.sql.Date互转及字符串转换为日期时间格式.docx
java.util.Date utilDate = new java.util.Date(sqlDate.getTime()); 二、字符串转换为日期时间格式 可以使用SimpleDateFormat将字符串转换为日期时间格式: String dateStringToParse = "2007-7-12"; ...
详细介绍java.util.Date和java.sql.Date相互转换的多种方法总结,希望对大家有帮助
java_sql_Date与java_util_Date转换
类型转换 ( Java.util.date与java.sql.date区别和转换
此java文件包括常用的日期类型之间的转换,包括java.util.Date、java.sql.Date、String之间的任意类型、格式转换......
主要介绍了java.util.Date与java.sql.Date的区别的相关资料,需要的朋友可以参考下
主要给大家分享了关于JAVA String转化成java.sql.date和java.sql.time的方法,文中给出了详细的示例代码,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
java中util.date和sql.date的类型转换问题.帮助大家很完善的了解关于java日期类型和数据库日期类型转换的问题,很值得拥有.
1、如何将java.util.Date转化为java.sql.Date?转化:java.sql.Date sd;java.util.Date ud;//initialize the ud such as ud = new java.util.Date();sd = new java.sql.Date(ud.getTime());2、如果要插入到数据库...
System.out.println(java.sql.Date.valueOf(str));`,但是输出结果可能会出现奇怪的结果。 三、Date 转化成 String 可以使用 `SimpleDateFormat` 类将 `Date` 转换成 `String`:`SimpleDateFormat sdf = new ...
import java.sql.Date; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Timestamp; import java.util.ArrayList; import java.util.List; import ...
将java.sql.Date类型格式化成字符串显示; 将Timestamp类型格式化成字符串显示 将字符串转换成java.util.Date类型 将字符串转换成java.sql.Date类型 将字符串转换成Timestamp类型 比较两个时间的时间差,返回格式为x天...
public java.sql.Date getSDate(java.sql.Date a); public java.sql.Time getTime(java.sql.Time a); /*自定义类型*/ public UserBean getUser(UserBean a); public List<UserBean> getUserList(List<UserBean> a)...
1.支持java.sql.Date 与 java.util.Date互转 2.支持java.util.Calendar,java.util.Date,java.sql.Date格式化输出 3.支持字符串转java.util.Date 支持字符串格式: yyyyMMdd yyyyMMddHH yyyyMMddHHmm ...