Java中Date,Calendar,Timestamp的区别以及相互转换与使用_Java教程-查字典教程网
Java中Date,Calendar,Timestamp的区别以及相互转换与使用
Java中Date,Calendar,Timestamp的区别以及相互转换与使用
发布时间:2016-12-28 来源:查字典编辑
摘要:1Java.util.Date包含年、月、日、时、分、秒信息。复制代码代码如下://String转换为DateStringdateStr="...

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不是毫秒值,也不是微秒值。

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新Java学习
    热门Java学习
    编程开发子分类