(急-在线等)问一个日期转换问题
我的一个页面是输入页面是:
有:
出厂日期:<input type="text" name="ccrq">
在另一个页面中取得那个页面值并存入数据库中。
在sql server中定义得出厂日期字段为datatime
在另一页面中我是这样取得的
date ccrq=(date)request.getparameter("ccrq");
在这样报错。说不能把string 转成date型,
请问如何转????
如何取得日期型的输入值并把它存入数据库中????
大家写写代码。
推荐阅读
/**
* string到java.sql.date的类型转换
* @param param
* @return date
*/
public static java.sql.date stringtodate(string param) {
if(stringutil.nullorblank(param)) {
return null;
} else {
java.util.date date =null;
try {
simpledateformat sdf=new simpledateformat("yyyy-mm-dd");
date = sdf.parse(param);
return new date(date.gettime());
}
catch (parseexception ex) {
//ex.printstacktrace();
return null;
}
}
}
simpledateformat,就是上面说的,我来晚了
上面两位的很对,但是如果只是要达到楼主的要求,还可以这样。
string ccrq=request.getparameter("ccrq");
insertstr = "insert into 数据表(出厂日期字段,...) values("+ccrq+",...)";
string ccrq = request.getparameter("ccrq");
然后在用到日期插入的时候用to_date语句,例如:to_date(2003-01-01,yyyy-mm-dd hh24:mi:ss)
可以用sqlserver里的convert(datetime,"+request.getparameter("ccrq")+")
sql语句为:
insertstr = "insert into 数据表(出厂日期字段,...) values(convert(datetime,"+request.getparameter("ccrq")+"),...)";
java.util.date date =null;
simpledateformat sdf=new simpledateformat("yyyy-mm-dd");
date = sdf.parse(param);
return new date(date.gettime());
就可以...具体里面加什么异常的处理就可以啦...
你把这个写在bean或者
<%! %>里面,注意要
import java.util.calendar;
import java.sql.date;
import java.text.simpledateformat;
import java.text.parseexception;
这几个包,
如果在jsp里面
<%@ page import="java.sql.date" %>
...
然后以后用到的时候就可以直接stringtodate(字符串)了
最好还是写在bean里面
jsp里面:
<%@ page import="java.util.calendar"%>
<%@ page import="java.sql.date"%>
<%@ page import="java.text.simpledateformat"%>
<%@ page import="java.text.parseexception"%>
<%!
public static java.sql.date stringtodate(string param) {
java.util.date date =null;
try {
simpledateformat sdf=new simpledateformat("yyyy-mm-dd");
date = sdf.parse(param);
return new date(date.gettime());
}
catch (parseexception ex) {
//ex.printstacktrace();
return null;
}
}
%>
<%@ page import="java.util.calendar"%>
<%@ page import="java.sql.date"%>
<%@ page import="java.text.simpledateformat"%>
<%@ page import="java.text.parseexception"%>
//jsp里面放在<%! % >这里
<%!
public static java.sql.date stringtodate(string param) {
java.util.date date =null;
try {
simpledateformat sdf=new simpledateformat("yyyy-mm-dd");
date = sdf.parse(param);
return new date(date.gettime());
}
catch (parseexception ex) {
//ex.printstacktrace();
return null;
}
}
%>
你修改你的代码:
string ccrq=request.getparameter("ccrq");
ccrq=stringtodate(ccrq);
为
date ccrq=stringtodate(request.getparameter("ccrq"));
就可以了,如果为了保险,你可以先判断一下request.getparameter("ccrq")是否有值。
在jsp中不能定义方法了,当然找不到
用这个:
<%@ page import="java.util.calendar"%>
<%@ page import="java.sql.date"%>
<%@ page import="java.text.simpledateformat"%>
<%@ page import="java.text.parseexception"%>
<%!
public static java.sql.date stringtodate(string param) {
java.util.date date =null;
try {
simpledateformat sdf=new simpledateformat("yyyy-mm-dd");
或者
simpledateformat sdf=new simpledateformat("yyyy/mm/dd");
date = sdf.parse(param);
return new date(date.gettime());
}
catch (parseexception ex) {
//ex.printstacktrace();
return null;
}
}
%>
date dd=stringtodate(date);
即可.


讨论区