1、
VO类中定义的日期类型是字符串, private String editdate;
Oracle数据库,读取日期数据,然后set(),得到的日期在页面显示为:2/10/2010 15:20:05
s.seteditdate(sql_res.getString("editdate")); //得到值为2/10/2010 15:20:05
2/10/2010 15:20:05 ,这不是我想要的,我要在页面上显示的日期格式为:yyyy-MM-dd HH:mm:ss ,例如2010-2-10 15:20:05
怎样将 2/10/2010 15:20:05 转成2010-2-10 15:20:05 呢。
思路:将字符串转为日期类型,然后再将日期类型转成字符串类型并在页面显示。原理是将字符类型转换成相应的日期类型,然后将日期类型转成所需的字符串类型。
用到日期转换类,SimpleDateFormat。
以下为日期处理类:DateUtilExtend
private static DateFormat yyyyMMddHHmmss=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
private static DateFormat ddMMyyyyHHmmssFormat = new SimpleDateFormat(
"MM/dd/yyyy HH:mm:ss");
/**
* 根据字符返回日期 格式为 dd/MM/yyyy HH:mm:ss 的日期
* @param dateValue
* @return Date
* @author hzg
* @date 2011-02-10
*/
public static Date getddMMyyyyHHmmssDateByString(String dateValue){
Date date=null;
try {
date= ddMMyyyyHHmmssFormat.parse(dateValue);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
/**
* 根据日期返回字符串,格式为 yyyy-MM-dd HH:mm:ss
* @param d
* @return strDate
* @author hzg
* @date 2011-02-10
*/
public static String DateToString(String dateValue){
String strDate = "";
if(dateValue==null){
strDate = null;
}else{
Date d = getddMMyyyyHHmmssDateByString(dateValue);
strDate = yyyyMMddHHmmss.format(d);
}
return strDate;
}
通过调用日期处理类,最后处理的结果为:
s.seteditdate(DateUtilExtend.DateToString(sql_res.getString("editdate")));
2、
还有一种方法是在SQL语句中用select tochar("yyyy-MM-dd",editdate) as editdate from table
3、
还有就在VO中将日期数据定义为Date类型,如: private Date editdate;
直接调用日期转换类将日期转换成字符串。