数据库字段在hibernate映射为日期类型,但是一般在formbean中要设置成String类型(formbean通常只有两种类型数据一种为String,另一种就是类类型),所以存在转换问题!
1。从数据库中取数据:Date===>String(比如说转向详细页面的时候):
import java.text.SimpleDateFormat; String pioDate = new SimpleDateFormat("yyyy-MM-dd").format(eq.getPioDate()); equpForm.setPioDate(pioDate); 2。将数据保存到数据库:String===>Date(比如说保存,新增操作)
import java.text.ParseException;
1。从数据库中取数据:Date===>String(比如说转向详细页面的时候):
import java.text.SimpleDateFormat; String pioDate = new SimpleDateFormat("yyyy-MM-dd").format(eq.getPioDate()); equpForm.setPioDate(pioDate); 2。将数据保存到数据库:String===>Date(比如说保存,新增操作)
import java.text.ParseException;
SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd");
try { equp.setPioDate(dateformat.parse(equpForm.getPioDate())); }
catch (ParseException e) { }
3。注意:将String=== >Date的时候上面的会转成英文格式的日期类型。如下作处理就可以达到完全格式的转换:
java.sql.Date.valueOf[equpForm.getPioDate()]
//得到上个月时间
java.sql.Date.valueOf[equpForm.getPioDate()]
//得到上个月时间
public static Date getPreMonthDate(Date date)
{
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
int month=calendar.get(Calendar.MONTH);
calendar.set(Calendar.MONTH,month-1);
return calendar.getTime();
}
//得到去年时间
public static Date getPreYearDate(Date date)
{
Calendar calendar=Calendar.getInstance();
calendar.setTime(date);
int year=calendar.get(Calendar.YEAR);
calendar.set(Calendar.YEAR,year-1);
return calendar.getTime();
}
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//昨天日期
java.util.Date myDate=new java.util.Date();
myDate.setTime(myDate.getTime()-60*24*60*1000);
String mDate=formatter.format(myDate);
out.println(mDate);
out.println("<br>");
//前天日期
java.util.Date myDate=new java.util.Date();
myDate.setTime(myDate.getTime()-2*60*24*60*1000);
String mDate=formatter.format(myDate);
out.println(mDate);
out.println("<br>");
