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

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();
	}


原创出处:http://blog.csdn.net/u012830807



原文地址:https://www.cnblogs.com/fuhaots2009/p/3476414.html