最完整的一个网页:http://www.zxbc.cn/html/20080905/65272.html
作者:天涯 来源:中国自学编程网 发布日期:1220576012 | ||||||
在JDK 1.1后,java.util.Date 类型的大多数方法已经不推荐使用了。代替它的是Calendar。 而在java.sql.Date 和 java.util.Date之间,有些微妙的关系。 如何将Date类型插入数据库中,成为好多人的一个不小的障碍。 当然,并不一定要在外部插入时间,因为在数据库中,可以让它自动插入,比如:MSSQL里面,用getdate()来插入当前时间,而在Insert时,便可以不用管它了。但有的时候还是避免不了,要手工插入时间,以更新数据库。 1、java.util.Calendar 格式化时间 Calendar cal = new GregorianCalendar(); int hour = cal.get(Calendar.HOUR_OF_DAY); // 24小时制 在JSP中输出是: 今天是: <%=year%>年<%=month%>月<%=day%>日<%=week%> <%=h%>:<%=m%>:<%=s%> 结果: 今天是: 2006年4月14日星期五 05:35:26 2、在数据库中插入时间 PreparedStatement ps = con.prepareStatement("insert into TableName(dAddTime) values(?)"); 3、取出数据库时间 通常只有两种: |
||||||
|
||||||
|
方法1
SimpleDateFormat s = new SimpleDateFormat("yyyy/MM/dd");
Date d = s.parse("1987/01/13");
java.sql.Date date = new java.sql.Date(d.getTime());
String dateStr = "2009-11-21";
java.sql.Date date = new java.sql.Date();
date.valueOf(dataStr);
首先加入import java.util.Date头文件
然后用
darr.setsDate(rs.getTimestamp("存储时间"));
获取准确的时分秒时间,而后进行转换
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ").format(dArr.getsDate())
将其转换为24小时进制的年月日时分秒数据即可!对于12小时的只需要将上句改为:
new SimpleDateFormat("yyyy-MM-dd hh:mm:ss ").format(dArr.getsDate())
即可
已经过测试成功读取:2012-05-23 16:26:54
测试数据库:
/*
SQLyog Ultimate - MySQL GUI v8.2
MySQL - 5.1.55-community
*********************************************************************
*/
/*!40101 SET NAMES utf8 */;
create table `datedemo` (
`id` varchar (96),
`datedemo` timestamp
);
package cn.itcast.utils;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.commons.dbutils.QueryRunner;
import org.junit.Test;
public class DaoDemo {
@SuppressWarnings("static-access")
@Test
public void testDateOperation() throws Exception {
QueryRunner runner = new QueryRunner(new JdbcUtils().getDataSource());
String sql = "insert into datedemo(id,datedemo) values(?,?)";
String dateString = "2009-10-01 05:35:26";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date date = simpleDateFormat.parse(dateString);
runner.update(sql,new Object[]{"1",new java.sql.Timestamp(date.getTime())});
//runner.update(sql,new Object[]{"1",new java.sql.Time(date.getTime())});
//runner.update(sql,new Object[]{"1",new java.sql.Date(date.getTime())});
}
}