日期:2014-05-20  浏览次数:20836 次

String 转DTAE 问题
 
一.1.jsp 从数据库中查到birthday(date 类型),通过button1按钮传参(如xx.do?birthday = birthday),跳到2action去
二.2action通过 String bir = request.getParameter("birthday");得到了它的值.
  现在我想把bir再转到Date型,请问谁有什么办法吗?


  首先说明我不知道数据库中的DATE样式,还有在1.JSP中也不好转换成那种固定样式(如YYYY-MM-DD),因为我在第一个页面中用到很多LIST,很复杂.


------解决方案--------------------
数据库中很少使用日期类型,除非是考虑的日期间频繁计算带来的效率问题,反则使用sql处理很不方便,一般都是用长整型或字符串来表示它

日期类型在不同的数据库不仅相同

如果是转换成Java的Date类型,只需使用SimpleDateFormat,详细信息请查看jdk文档
------解决方案--------------------
SimpleDateFormat
java.sql.Date
------解决方案--------------------
SimpleDateFormat fm = new SimpleDateFormat("yyyy-MM-dd");
String s = "2008-05-13";
Date d = fm.parse(s);
------解决方案--------------------
Java code

String bir = request.getParameter("birthday");

        SimpleDateFormat sm = new SimpleDateFormat("yyyy-mm-dd");

        Date date = sm.parse(bir);

------解决方案--------------------
public Date ReturnDate(String str)
{
Date date=new SimpleDateFormat("yyyy-mm-dd").parse(str);
return date;
}
------解决方案--------------------
数据库里边保存的DATE类型一般精确到了秒吧
------解决方案--------------------
如果是oracle,还可以用TO_DATE,TO_CHAR函数来做
------解决方案--------------------
参考这个:
 public void getTime(){
TimeZone tz = TimeZone.getTimeZone("ETC/GMT-8");
TimeZone.setDefault(tz); 
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
this.time=sdf.format(date.getTime());
}

------解决方案--------------------
SimpleDateFormat
------解决方案--------------------

 
SimpleDateFomat sdf=new SimpleDateFormat("yyyymmdd");
String str="20080513";
Date d=sdf.parse(str);// 这个是把字符长格式化成 Tue May 13 00:00:00 CST 2008 这中格式



我觉得你的意思应该是10楼所说的
Date date=new Date();
SimpleDateFomat sdf=new SimpleDateFormat("yyyy-mm-dd");
String str=sdf.fromat(date.getTime());

格式化成时间形式