在ResultSet中我们经常使用的setDate或getDate的数据类型是java.sql.Date,而在平时java程序中我们一般习惯使用 java.util.Date。因此在DAO层我们经常会碰到这俩种数据类型的相互转换,经过了一个下午的折腾,鄙人对两者的转换方法做出了小小总结,希望大家不吝指教。
两者的关系
java.lang.Object
|
+---java.util.Date
|
+----java.sql.Date
从这个图中我们可以知道java.sql.Date是从java.util.Date继承过来的。
相互转换
1. 使用getTime()函数
这两个类都提供了getTime()函数,用于返回对应的毫秒数(long类型)。利用这个函数可以实现转换:
java.util.Date utilDate = new java.util.Date(sqlDate.getTime()); // sql -> util
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime()); // util -> sql
2. 使用SimpleDateFormat类实现转换
SimpleDateFormat 是一个以国别敏感的方式格式化和分析数据的具体类。 它允许格式化 (date -> text)、语法分析 (text -> date)和标准化。
SimpleDateFormat dateFormat = new SimpleDateFormate("yyyy-MM-dd HH:mm:ss");
java.util.Date utilDate = dateFormat.parse(sqlDate.toString());
3. 直接转换
由于java.sql.Date是从java.util.Date中继承过来的,所以可以直接用:
utilDate = sqlDate;
4. 另类获得日期的方法:
SimpleDateFormat sy=new SimpleDateFormat("yyyy");
SimpleDateFormat sm=new SimpleDateFormat("MM");
SimpleDateFormat sd=new SimpleDateFormat("dd");
String syear=sy.format(date);
String smon=sm.format(date);
String sday=sd.format(date);
ps: java.util.Date类中的getYear()要加上1900才可得到实际值,getMonth()则要加上1
分享到:
相关推荐
java.util.Date与java.sql.Date互转及字符串转换为日期时间格式.docx
详细介绍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.sql.date与java.util.date.pdf
java.util.Date与java.sql.Date互转及字符串转换为日期时间格式[文].pdf
主要介绍了java.util.Date与java.sql.Date的区别的相关资料,需要的朋友可以参考下
java中util.date和sql.date的类型转换问题.帮助大家很完善的了解关于java日期类型和数据库日期类型转换的问题,很值得拥有.
1.支持java.sql.Date 与 java.util.Date互转 2.支持java.util.Calendar,java.util.Date,java.sql.Date格式化输出 3.支持字符串转java.util.Date 支持字符串格式: yyyyMMdd yyyyMMddHH yyyyMMddHHmm ...
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、如果要插入到数据库...
基于Java 日期转换类: 支持如下(以下的方法格式都可以自定义): ...将字符串转换成java.util.Date类型 将字符串转换成java.sql.Date类型 将字符串转换成Timestamp类型 比较两个时间的时间差,返回格式为x天x时x分x秒
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 ...
按格式化字符串将 String 类型 转换为 sql.date 注意,非 util.date 可视化字符串例如 "yyyy-MM-dd HH:mm:ss
util包里的Date类转换为sql包里的Date
public java.util.Date getUDate(java.util.Date a); public java.util.Calendar getCalendar(java.util.Calendar a); public java.sql.Timestamp getTimestamp(java.sql.Timestamp a); public java.sql.Date ...