Date跟String类型之间的转换!
[b]原文:[/b][url]http://orz.iteye.com/blog/37901[/url]
数据库字段在hibernate映射为日期类型,但是一般在formbean中要设置成String类型(formbean通常只有两种类型数据一种为String,另一种就是类类型),所以存在转换问题!
1。从数据库中取数据:Date===>String(比如说转向详细页面的时候):
[code] import java.text.SimpleDateFormat;
String pioDate = new SimpleDateFormat("yyyy-MM-dd").format(eq.getPioDate());
equpForm.setPioDate(pioDate); [/code]
2。将数据保存到数据库:String===>Date(比如说保存,新增操作)
[code] import java.text.ParseException;
SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd");
try { equp.setPioDate(dateformat.parse(equpForm.getPioDate()));
} catch (ParseException e) {
} [/code]
3。注意:将String=== >Date的时候上面的会转成英文格式的日期类型。如下作处理就可以达到完全格式的转换:
[code] java.sql.Date.valueOf[equpForm.getPioDate()] [/code]
代码
[code] 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>"); [/code]
代码
//得到上个月时间
[code] 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();
} [/code] [color=red][/color]
[code]import="java.util.Date,java.sql.*,java.text.SimpleDateFormat,java.util.Calendar"
String sys_date;
Date sysdate=new Date();
//out.print(sysdate);
//SimpleDateFormat df_new=new SimpleDateFormat("yyyyMMddHHmmss");
SimpleDateFormat df_new=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
sys_date = df_new.format(sysdate); [/code]
[b]原文:[/b][url]http://orz.iteye.com/blog/37901[/url]
数据库字段在hibernate映射为日期类型,但是一般在formbean中要设置成String类型(formbean通常只有两种类型数据一种为String,另一种就是类类型),所以存在转换问题!
1。从数据库中取数据:Date===>String(比如说转向详细页面的时候):
[code] import java.text.SimpleDateFormat;
String pioDate = new SimpleDateFormat("yyyy-MM-dd").format(eq.getPioDate());
equpForm.setPioDate(pioDate); [/code]
2。将数据保存到数据库:String===>Date(比如说保存,新增操作)
[code] import java.text.ParseException;
SimpleDateFormat dateformat=new SimpleDateFormat("yyyy-MM-dd");
try { equp.setPioDate(dateformat.parse(equpForm.getPioDate()));
} catch (ParseException e) {
} [/code]
3。注意:将String=== >Date的时候上面的会转成英文格式的日期类型。如下作处理就可以达到完全格式的转换:
[code] java.sql.Date.valueOf[equpForm.getPioDate()] [/code]
代码
[code] 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>"); [/code]
代码
//得到上个月时间
[code] 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();
} [/code] [color=red][/color]
[code]import="java.util.Date,java.sql.*,java.text.SimpleDateFormat,java.util.Calendar"
String sys_date;
Date sysdate=new Date();
//out.print(sysdate);
//SimpleDateFormat df_new=new SimpleDateFormat("yyyyMMddHHmmss");
SimpleDateFormat df_new=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
sys_date = df_new.format(sysdate); [/code]