时间:2021-07-01 10:21:17 帮助过:18人阅读
转自:https://blog.csdn.net/maoyuanming0806/article/details/78011700
1、java.sql.Date是针对SQL语句使用的,它只包含日期而没有时间部分,一般在读写数据库的时候用
PreparedStament的setDate()的参数和ResultSet的getDate()方法的都是java.sql.Date
2、java.util.Date是在除了SQL语句的情况下面使用,一般是日常日期字段
3、java.util.Date 是 java.sql.Date 的父类,
即:继承关系:java.lang.Object --》 java.util.Date --》 java.sql.Date
而java.util.Date 与 java.sql.Date的转换:
假若sqltime是java.sql.Date类型对象、utiltime是java.util.Date类型对象
这也就是下转型,需要造型,但是由于时间格式不一样,需要以毫秒的形式进行转换:
java.sql.Date s = new java.sql.Date(util.getTime());
这是上转型,会自动转换:
java.util.Date u = sqltime;
也如:
java.sql.Date s = new java.sql.Date(new Date().getTime());
java.util.Date u = s;
注意,new Date();是java.util.Date类型
这里所有时间日期都可以被SimpleDateFormat格式化format()
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
f.format(stp);
f.format(sTime);
f.format(sqlDate);
f.format(utilDate)
java.sql.Date sqlDate=java.sql.Date.valueOf(" 2005-12-12"搜索);
utilDate=new java.util.Date(sqlDate.getTime());
另类取得年月日的方法:
import java.text.SimpleDateFormat;
import java.util.*;
java.util.Date date = new java.util.Date();
如果希望得到YYYYMMDD的格式SimpleDateFormat
sy1 = new SimpleDateFormat("yyyyMMDD");
String dateFormat = sy1.format(date);
如果希望分开得到年,月,日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);
java.util.Date和java.sql.Date的区别和相互转化(转)
标签:继承 for 转换 mat val date() result imp 的区别