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