JAVA学习.java.sql.date与java.util.date以及gettime()方法的分析

2014-11-24 16:57:39 · 作者: · 浏览: 0

java.sql.Date 是针对SQL语句使用的,它只包含日期而没有时间部分。

java.util.Date 就是在除了SQL语句的情况下面使用。

它都有getTime方法返回毫秒数,返回的是自1970年01月01日凌晨0点0分0秒至现在所经过的毫秒数。

package ljy.oraclejdbc.test;

import java.text.SimpleDateFormat;

public class test {

/**
* @param args
*/
public static void main(String[] args) {

try {
System.out.println(getTimestamp());
} catch (Exception e) {

e.printStackTrace();
}
}
public static String getTimestamp() throws Exception {
java.text.SimpleDateFormat formater = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
java.util.Date date= formater.parse("1970-01-01 00:00:00");
return Long.toString(date.getTime());
}
//系统时间是与本初子午线上的时间是一致的,而本地时间是随着地域的推移略有不同
//例如:当本初子午线上的系统时间是1970年1月1号凌晨0时0分0秒的时候,它的本地时
//间也是这个,但是中国处在东八区,此时他的本地时间比标准的时间要慢8个小时,也
//就是说当标准时间为1970年1月1号凌晨0时0分0秒的时候,中国的实际时间为
//1969年12月31号16时0分0秒的时候,所以你在中国的话,这个函数获取的实际上是
//1969年12月31号16时0分0秒距离标准时间1970年1月1号凌晨0时0分0秒所经过的毫秒数
//因为是在标准的时间之前所以是负数:-28800000 如果将函数的时间改为
//formater.parse("1970-01-01 08:00:00")那么放回的就是正数:0

}
java.sql.date 与java.util.date 使用的场景和互相的转换。

package ljy.oraclejdbc.domain;

import java.util.Date; 
//平常数据存储都是使用java.util.Date
//只有在用SQL语句存入数据库的时候使用java.sql.Date

public class Student {

   private Date   stuBirth;
   public Date getStuBirth() {
		return stuBirth;
	}
	public void setStuBirth(Date date) {
		this.stuBirth = date;
	}
}
private static final String SQL_ADD ="insert into tbl_student values( )"; 
		DBUtils utils = new DBUtils();
		Connection conn = utils.getConn();
		//创建好连接数据库所需要的链接
		
		PreparedStatement  pstmt = null;
try {
	pstmt = conn.prepareStatement(SQL_ADD);
			
	pstmt.setDate(1, new java.sql.Date(stu.getStuBirth().getTime()));
	//进行数据库SQL操作的时候要将原本存储格式为java.util.Date的时间
	//转换为java.sql.Date格式的时间才可以进行数据库的操作		
			
	pstmt.executeUpdate();		
			
	} catch (SQLException e) {
			
		e.printStackTrace();
	}