Timestamp Date String Calendar

java.util.Date

在除了SQL語句的情況下使用。java.util.Date 是java.sql.Date的父類。這是常用的表示時間的類,我們通常格式化或者得到當前時間都是用它。一般是日常日期字段。


java.sql.Date

針對SQL語句使用的,它只是包含日期而沒有時間部分。java.util.Date 是java.sql.Date的子類。這個在讀寫數據庫的時候用。一般是數據庫中的時間字段。


java.sql.Timestamp

是一個與java.util.Data類有關的瘦包裝器(thin wrapper),它允許JDBC API將該類標識爲SQl TIMESTAMP值。它通過允許小數秒到納秒界別精度的規範來添加保存SQL TIMESTAMP小數秒值得能力。Timestamp 也提供支持時間戳值得JDBC轉義語法的格式化解析操作的能力。

計算Timestamp對象的精度是二者之一:

只有證書秒纔會存儲在java.util.Date組件中。小數秒(毫秒級)是獨立存在的。傳遞的不是java.sql.Timestamp實例的對象時,Timestamp.equals(Object)方法永遠不會返回true,因爲日期的毫微秒組件是未知的,相對於java.util.Date.equals(Object)方法而言,Timestamp.equals(Object)方法是不對稱的。此外,hashcode方法使用底層jaava.util.Date實現並因此在其計算中不包括毫微秒。鑑於Timestamp類和上述java.util.Date類之間的不同,建議代碼一般不要講Timestamp值爲java.tuil.Date的實例。Timestamp和java.util.Date之間的繼承關係實際上是實現繼承,而不是類型繼承。


Calendar

在java中是一個抽象類(Abstract Class), GregorianCalendar是它的一個具體實現。

1.Calendar的月份的起始值爲0而不是1,所以要設置八月時,我們用7而不是8。即:calendar.set(Calendar.MONTH,7);


轉換關係

Timestamp --> String

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定義格式

Timestamp now  = new Timestamp(System.currentTimeMillis());//獲取系統當前時間

String str = df.format(now);


Data --> Timestamp

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定義格式

String time = df.format(new Date());

Timestamp ts = Timestamp.valueOf(time);


java.util.Date <--> java.sql.Date通過getTime方法進行相互構建的。


Calendar --> Date

Calendar calendar = Calendar.getInstance();

java.util.Date date = calendar.getTime();


Date --> Calendar

calendar.setTime(date);


Calendar --> String

Calendar calendar = Calendar.getInstance();

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String dateStr = sdf.format(calendar.getTime());


String --> Calendar

String str = "2013-11-12";

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date date = sdf.parse(str);

Calendar calendar = Calendar.getInstance();

calendar.setTime(date);


Date --> String

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String dateStr = sdf.format(new Date());


String --> Date

String str = "2013-11-12";

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

Date date = sdf.parse(str);


String --> Timestamp

Timestamp ts = Timestamp.valueOf("2013-11-12 17:55:00");




發佈了42 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章