向插入Oracle数据库插入Data数据格式十分麻烦,但是有两个函数比较好用,一个是to_date(),to_char()
to_date() 作用将字符类型按一定格式转化为日期类型:具体用法:to_date('2008-01-07' 19:34:07
,'yyyy-mm-dd'),前者为字符串,后者为转换日期格式,注意,前后两者要以一对应。如;to_date('2008-01-07' 19:34:07, 'yyyy-mm-dd hh24:mi:ss') 将得到具体的时间。以下给出我在开发过程中的一些应用。。。
先使用一个calendar.js,获得字符串型的时间,如2008-01-07 19:34:07
<%@ page import="java.util.Date,java.text.*,java.sql.*" contentType="text/html;charset=GB2312"%>
<jsp:useBean id="treeVect" scope="application" class="shMachine.shMachine"/>
<jsp:useBean id="treeVect" scope="application" class="shMachine.shMachine"/>
<
script type
=
"
text/javascript
"
language
=
"
javascript
"
src
=
"
calendar.js
"
></
script
>
< input type = " text " name = " start " value = "" >< input type = button value = 第一天 onclick = " setday(this,document.all.start) " >
< input type = " text " name = " finish " value = "" >< input type = button value = 第二天 onclick = " setday(this,document.all.finish) " >
< input type = " Submit " name = " login1 " onclick = " myform.submit() " value = " 完成 " >
< input type = " text " name = " start " value = "" >< input type = button value = 第一天 onclick = " setday(this,document.all.start) " >
< input type = " text " name = " finish " value = "" >< input type = button value = 第二天 onclick = " setday(this,document.all.finish) " >
< input type = " Submit " name = " login1 " onclick = " myform.submit() " value = " 完成 " >
比较两个日期间的时间差
public
String countTime(String day1,String day2)
throws
Exception
... {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date now = df.parse(day2);
java.util.Date date=df.parse(day1);
long l=now.getTime()-date.getTime();
long day=l/(24*60*60*1000);
long hour=(l/(60*60*1000)-day*24);
long min=((l/(60*1000))-day*24*60-hour*60);
long s=(l/1000-day*24*60*60-hour*60*60-min*60);
// System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");
String time=""+day+"天"+hour+"小时"+min+"分"+s+"秒";
return time;
}
... {
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date now = df.parse(day2);
java.util.Date date=df.parse(day1);
long l=now.getTime()-date.getTime();
long day=l/(24*60*60*1000);
long hour=(l/(60*60*1000)-day*24);
long min=((l/(60*1000))-day*24*60-hour*60);
long s=(l/1000-day*24*60*60-hour*60*60-min*60);
// System.out.println(""+day+"天"+hour+"小时"+min+"分"+s+"秒");
String time=""+day+"天"+hour+"小时"+min+"分"+s+"秒";
return time;
}
//获得时间格式,本例中含有一个javabean,向数据库中插入时间制,time是字段名
if
(request.getParameter(
"
start
"
)
!=
null
&&
request.getParameter(
"
finish
"
)
!=
null
)
... {
String day1=new String(request.getParameter("start").getBytes("ISO8859_1"),"GBK");
String sql="insert into taskbox.time (time) values (to_date( '"+day1+"', 'YYYY-MM-DD hh24:mi:ss'))";
boolean success=treeVect.executeUpdate(sql);
out.println(success);
treeVect .executeClose();
} %>
... {
String day1=new String(request.getParameter("start").getBytes("ISO8859_1"),"GBK");
String sql="insert into taskbox.time (time) values (to_date( '"+day1+"', 'YYYY-MM-DD hh24:mi:ss'))";
boolean success=treeVect.executeUpdate(sql);
out.println(success);
treeVect .executeClose();
} %>
查询时间,输出字符串型的时间数据
String sql
=
"
select to_char(time,'YYYY-MM-DD hh24:mi:ss') from taskbox.time where id='1'
"
;
ResultSet rs = treeVect.executeQuery(sql);
while (rs.next())
... { //Date time=rs.getDate(1);
String time=rs.getString(1);
out.print(time);
}
treeVect .executeClose();
ResultSet rs = treeVect.executeQuery(sql);
while (rs.next())
... { //Date time=rs.getDate(1);
String time=rs.getString(1);
out.print(time);
}
treeVect .executeClose();