關於日期類轉換的問題

  1. String startYear = "";  
  2. String stopYear = "";  
  3. String str1 = "2005-01-01";  
  4. String str2 = "2005-01-31";  
  5. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");   
  6. Date date1 = new Date();  
  7. Date date2 = new Date();  
  8. try {  
  9.      date1 = sdf.parse(str1);  
  10.      date2 = sdf.parse(str2);  
  11.                   
  12.      startYear = sdf.format(date1);  
  13.      stopYear = sdf.format(date2);  
  14.                       
  15. } catch (ParseException e1) {  
  16.     // TODO Auto-generated catch block  
  17.      e1.printStackTrace();  
  18. }  
  19. pstmt.setDate(1, new java.sql.Date(date1.getTime()));  
  20. pstmt.setDate(2, new java.sql.Date(date2.getTime())); 

一.獲取系統當前時間:

1System.out.println(new Timestamp(new java.util.Date().getTime));    //包含時分秒

2System.out.println(new java.sql.Date(new java.util.Date().getTime));    //不包含時分秒

3.通過格式化類獲取任意格式的時間

  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss SSS"); String time = sdf.format(Calendar.getInstance().getTime()); System.out.println(time);

sql包的Date類沒有無參的構造函數,而utilDate類有無參的構造函數

java.util.Date date = new java.util.Date();是正確的   //Tue Jun 15 09:04:23 CST 2010

java.sql.Date date = new java.sql.Date();是錯誤的

但是sql包的Date有一個帶long型參數的構造函數,因此可以使用以下方式

 

 

 java.sql.Date date = new java.sql.Date(new java.util.Date().getTime());   //2010-6-17

 

 

 

 

 

 

new java.util.Date():構造函數沒有接受任何參數而這個構造函數在內部使用了System.currentTimeMillis() 方法來從系統獲取日期. 下面是util包的Date的構造方法:

public Date() { this(System.currentTimeMillis()); }

 

 

 

 

 

 

 

 

還發現一件怪異的事情:

// String轉化成date String str = "9-29-2001";
System.out.println(java.sql.Date.valueOf(str));

輸出:

0016-10-21

真是奇怪.

三. Date轉化成String

//Date轉化成String: SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");

System.out.println(sdf.format(new Date()));

輸出:

2010-06-17 16:30:21 781

四. Timestamp轉化成String

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定義格式,不顯示毫秒

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

String str = df.format(now);

System.out.println(str);

輸出:

2010-06-17 16:46:34

五. String轉化成Timestamp

SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

java.util.Date date11 = df1.parse("2010-6-2 16:10:38.00");

String time = df1.format(date11);

Timestamp ts = Timestamp.valueOf(time);

System.out.println(ts);

輸出:

 2010-06-02 16:10:38.0

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