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

时间:2021-01-19 01:00:04

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.****.net/u012830807