欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java中Date,Calendar,Timestamp的区别以及相互转换与使用

程序员文章站 2023-12-20 13:35:04
1 java.util.date包含年、月、日、时、分、秒信息。复制代码 代码如下:// string转换为datestring datestr="2013-8-13 23...

1 java.util.date
包含年、月、日、时、分、秒信息。

复制代码 代码如下:

// string转换为date
string datestr="2013-8-13 23:23:23";
string pattern="yyyy-mm-dd hh:mm:ss";
dateformate dateformat=new simpledateformat(pattern);
date date=dateformat.parse(datestr);
date=dateformat.format(date);

2 java.sql.date
包含年、月、日信息。
继承自java.util.date。在数据库相关操作中使用,如rs.getdate,ps.setdate等。rs是指resultset,ps是指preparedstatement。
复制代码 代码如下:

// java.util.date转换为java.sql.date
new java.sql.date(utildate.gettime());// 其中utildate为java.util.date类型的对象

3 java.util.calendar
包含年、月、日、时、分、秒、毫秒信息。
jdk1.1引入,用以代替java.util.date。
复制代码 代码如下:

// date转为calendar
date date=new date();
calendar calendar=calendar.getinstance();
calendar.settime(date);

// calendar转为date
calendar ca=calendar.getinstance();  
date d =(date) ca.gettime();


4 java.sql.timestamp
包含年、月、日、时、分、秒、纳秒(nano)信息。
继承自java.util.date。比java.sql.date包含更多信息。在数据库相关操作中使用,如rs.gettimestamp,ps.settimestamp等。例如:若数据库中某字段hiredate为oracle的date类型,则使用gettimestamp时能够将年、月、日、时、分、秒信息取出;但使用getdate时则只能取出年、月、日信息。因此,一般推荐使用gettimestamp。
复制代码 代码如下:

// java.util.calendar转换为java.sql.timestamp
new timestamp(calendar.getinstance().gettimeinmillis());
// java.util.date转换为java.sql.timestamp
new timestamp(date.gettime());
// string转换为java.sql.timestamp,string格式:yyyy-mm-dd hh:mm:ss[.f...] ,方括号表示可选
timestamp.valueof("2013-07-06 01:49:30");

5 oracle数据库提供的日期和时间类型
oracle数据库提供了date,timestamp,timestamp with time zone和timestamp with local time zone四种类型。

date包含世纪、年、月、日、时、分、秒信息。
timestamp是date的扩展,包含年、月、日、时、分、秒和fractional seconds信息。定义timestamp的格式如下:

复制代码 代码如下:

timestamp [(fractional_seconds_precision)]
// 格式
timestamp 'yyyy-mm-dd hh24:mi:ss.ff'
// 一个例子
timestamp '1997-01-31 09:26:50.12'

其中fractional_seconds_precision是可选的,用于指定秒使用含几位小数的浮点数表示,它的取值范围是0到9,默认是6。上述例子中表示采用两位小数,它的秒值是50.12。注意:12不是毫秒值,也不是微秒值。

上一篇:

下一篇: