背景描述
在编写程序的时候有时候需要对java.util.Date、java.sql.Date和java.sql.Timestamp等日期时间类型进行转换
方法简述
将A(a)这种日期时间类型转换成B(b)这种日期时间类型
第一步:long time = a.getTime(); //得到毫秒值
第二步:B b = new B(time); //把毫秒值作为构造参数构造出该种类型数据
案例代码如下:
import java.sql.Timestamp;
public class TimeTransfer {
//将java.sql.Date类型转换成java.util.Date
//因为java.sql.Date是java.util.Date的子类,所以可以直接强制转换
public java.util.Date sqlDateToUtilDate(java.sql.Date date){
return (java.util.Date)date;
}
//将java.util.Date类型转换成java.sql.Date类型
//先将其转换成long类型的值,再转换成java.sql.Date类型
public java.sql.Date utilDateToSqlDate(java.util.Date date){
long time = date.getTime();
return new java.sql.Date(time);
}
//同上,先将该类型转换成毫秒值,再使用毫秒值构建对应的类型
public Timestamp utilDateToTimestamp(java.util.Date date){
long time = date.getTime();
return new Timestamp(time);
}
//其他格式日期类型的格式转换都可以采用此方法,先使用getTime()方法获取毫秒值,
//再将毫秒值作为构造参数,得到你想要的时间类型
public static void main(String[] args){
java.util.Date date = new java.util.Date();
TimeTransfer tt = new TimeTransfer();
System.out.println(tt.utilDateToSqlDate(date));
System.out.println(tt.utilDateToTimestamp(date));
}
}