日期处理经常会遇到,参考了下JAVA API,总结几个常用的。
一、Date构造函数
public Date(long date)分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
参数:
date - 自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。
二、Timestamp类
jpublic class Timestamp extends Date
一个与 java.util.Date 类有关的瘦包装器 (thin wrapper),它允许 JDBC API 将该类标识为 SQL TIMESTAMP 值。它添加保存 SQL TIMESTAMP 毫微秒值和提供支持时间戳值的 JDBC 转义语法的格式化和解析操作的能力。
注:此类型由 java.util.Date 和单独的毫微秒值组成。只有整数秒才会存储在 java.util.Date 组件中。小数秒(毫微秒)是独立存在的。传递 java.util.Date 类型的值时,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 之间的继承关系实际上指的是实现继承,而不是类型继承。
方法:getTime();toString();
三、在JDBC中操作日期类型
rs.getDate(1);//只能提取年月日
rs.getTime(1);//只能提取时分秒
rs.getTimestamp(1);//可以提取全部时间(年月日时分秒)
从数据库中提取时间的时候最好还是使用rs.getTimestamp,而且Timestamp是继承java.util.Date,可以直接使用而不需要转换
四、精确到时间的日期查询 Oracle
to_char(aa,'yyyy-MM-dd hh24:mi:ss') between '2008-11-10 8:35:00' and '2008-11-10 18:35:00';
一、Date构造函数
public Date(long date)分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
参数:
date - 自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。
二、Timestamp类
jpublic class Timestamp extends Date
一个与 java.util.Date 类有关的瘦包装器 (thin wrapper),它允许 JDBC API 将该类标识为 SQL TIMESTAMP 值。它添加保存 SQL TIMESTAMP 毫微秒值和提供支持时间戳值的 JDBC 转义语法的格式化和解析操作的能力。
注:此类型由 java.util.Date 和单独的毫微秒值组成。只有整数秒才会存储在 java.util.Date 组件中。小数秒(毫微秒)是独立存在的。传递 java.util.Date 类型的值时,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 之间的继承关系实际上指的是实现继承,而不是类型继承。
方法:getTime();toString();
三、在JDBC中操作日期类型
rs.getDate(1);//只能提取年月日
rs.getTime(1);//只能提取时分秒
rs.getTimestamp(1);//可以提取全部时间(年月日时分秒)
从数据库中提取时间的时候最好还是使用rs.getTimestamp,而且Timestamp是继承java.util.Date,可以直接使用而不需要转换
四、精确到时间的日期查询 Oracle
to_char(aa,'yyyy-MM-dd hh24:mi:ss') between '2008-11-10 8:35:00' and '2008-11-10 18:35:00';