java程序中的时间类型有java.util.Date和java.sql.Date两种。两者之间的关系和转化如下:
java.sql.Date是java.util.Date的子类,所以可以直接将java.sql.Date类型的对象赋值给java.util.Date对象;然而要通过java.utile.Date对象获取java.sql.Date对象就需要使用以下方法:java.util.Date date = new java.utile.Date();
java.sql.Date sqlDate = new java.sql.Date(date.getTime());
在java程序中字符串和时间的转换也是很常见的,所以将字符串和时间转换的方法总结如下:
将时间类型转换为字符串:/**
* 获取java.util.Date;
* 这里需要的第二个参数date既可以使java.util.Date类型,也可以是java.sql.Date类型
* 因为java.sql.Date是java.util.Date的子类
*/
public static String getStringDate(String format,Date date){
SimpleDateFormat sdf;
if(format!=null&&!"".equals(format.trim())){
sdf=new SimpleDateFormat(format);
}
else{
sdf=new SimpleDateFormat();
}
return sdf.format(date);
}
将字符串转换为时间:,//把符合时间类型的字符串转换成java.util.Date类型
public static Date getUtilDate(String dateStr,String format){
Date d = null;
SimpleDateFormat formater = new SimpleDateFormat(format);
try {
formater.setLenient(false);
d = formater.parse(dateStr);
} catch (Exception e) {
d = null;
}
return d;
}
//把符合时间类型的字符串转换成java.sql.Date类型
//注意:这里的字符串形式必须符合“yyyy-MM-dd”
public static java.sql.Date getSqlDate1(String dateStr){
return java.sql.Date.valueOf(dateStr);
}