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类型相互转换

SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");//定义格式
Timestampnow=newTimestamp(System.currentTimeMillis());//获取系统当前时间
Stringstr=df.format(now);

---------

SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");
Stringtime=df.format(newDate());
Timestampts=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/