java.sql.Timestamp类型

如果想向数据库中插入日期时间的话,可以用java.sql.Timestamp类

一个与 java.util.Date类有关的瘦包装器 (thin wrapper),它允许 JDBC API 将该类标识为 SQL TIMESTAMP值。它通过允许小数秒到纳秒级精度的规范来添加保存 SQL TIMESTAMP小数秒值的能力。Timestamp 也提供支持时间戳值的 JDBC 转义语法的格式化解析操作的能力。

计算 Timestamp 对象的精度为二者之一: 
       19 ,其为 yyyy-mm-dd hh:mm:ss 格式下的字符数 
       20 + s ,其为 yyyy-mm-dd hh:mm:ss.[fff...] 格式下的字符数,
s表示给定 Timestamp 的标度(其小数秒精度)。
注:此类型由 java.util.Date和单独的毫微秒值组成。只有整数秒才会存储在 java.util.Date组件中。小数秒(毫微秒)是独立存在的。传递不是 java.sql.Timestamp实例的对象时,Timestamp.equals(Object)方法永远不会返回 true,因为日期的毫微秒组件是未知的,相对于 java.util.Date.equals(Object)方法而言,Timestamp.equals(Object)方法是不对称的。此外,hashcode方法使用底层java.util.Date
实现并因此在其计算中不包括毫微秒。 鉴于 Timestamp类和上述 java.util.Date类之间的不同,建议代码一般不要将 Timestamp值为 java.util.Date的实例。Timestamp和 java.util.Date之间的继承关系实际上指的是实现继承,而不是类型继承。

===================================================================================

1.Timestamp 与String类型相互转换

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式   
       Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间   
       String str = df.format(now);  

---------

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");   
       String time = df.format(new Date());   
       Timestamp ts = Timestamp.valueOf(time);  

2.java.sql.Date与java.sql.Timestamp相互转换

java.sql.Date--->java.sql.Timestamp
      new java.sql.Timestamp(yourDate.getTime());

       java.sql.Timestamp-->java.sql.Date
       new java.sql.Date(yourTimestamp.getTime());

转自:http://blog.163.com/dingyi_57@126/blog/static/11047919520107253563968/ 

原文地址:https://www.cnblogs.com/shanmao/p/3457368.html