java日期類型互轉


從 JDK 1.1 開始,應該使用 Calendar 類實現日期和時間字段之間轉換,使用 DateFormat 類來格式化和解析日期字符串。Date 中的相應方法已廢棄。 


1. String <=> java.util.Date

//String => java.util.Date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dstr = "2014-9-9 15:13:53";
java.util.Date date = sdf.parse(dstr); 

//java.util.Date => String
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.util.Date date = new java.util.Date();
System.out.println(sdf.format(date));

2. java.util.Date <=> java.sql.Date

//java.util.Date => java.sql.Date
java.util.Date uDate = new java.util.Date();
java.sql.Date sDate = new java.sql.Date(uDate.getTime());
		
//java.sql.Date => java.util.Date
//很少用到這種轉換,同上


3. String <=> java.sql.Date

// String => java.sql.Date
// 這個可以分成2種情況:
// (1)String類型的日期是yyyy-mm-dd格式的,可以直接用valueOf()方法進行轉化,注意,非yyyy-mm-dd格式轉化將拋出IllegalArgumentException錯誤!
java.sql.Date sDate = java.sql.Date.valueOf("2014-9-9");

// java.sql.Date => String
// (2) String類型非yyyy-mm-dd格式的,必須先轉換成java.util.Date類型,再轉換成java.sql.Date類型
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dstr = "2014-9-9 15:13:53";
java.util.Date uDate = sdf.parse(dstr);
java.sql.Date sDate = new java.sql.Date(uDate.getTime());		
		
//java.sql.Date => String 
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
java.sql.Date sDate = java.sql.Date.valueOf("2014-9-9");
System.out.println(sdf.format(sDate));


附錄:




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章